/** * Обновляет блог в БД * * @param ModuleBlog_EntityBlog $oBlog Объект блога * @return bool */ public function UpdateBlog(ModuleBlog_EntityBlog $oBlog) { $sql = "UPDATE " . Config::Get('db.table.blog') . " \n\t\t\tSET \n\t\t\t\tblog_title= ?,\n\t\t\t\tblog_description= ?,\n\t\t\t\tblog_type= ?,\n\t\t\t\tblog_date_edit= ?,\n\t\t\t\tblog_rating= ?f,\n\t\t\t\tblog_count_vote = ?d,\n\t\t\t\tblog_count_user= ?d,\n\t\t\t\tblog_count_topic= ?d,\n\t\t\t\tblog_limit_rating_topic= ?f ,\n\t\t\t\tblog_url= ?,\n\t\t\t\tblog_avatar= ?\n\t\t\tWHERE\n\t\t\t\tblog_id = ?d\n\t\t"; if ($this->oDb->query($sql, $oBlog->getTitle(), $oBlog->getDescription(), $oBlog->getType(), $oBlog->getDateEdit(), $oBlog->getRating(), $oBlog->getCountVote(), $oBlog->getCountUser(), $oBlog->getCountTopic(), $oBlog->getLimitRatingTopic(), $oBlog->getUrl(), $oBlog->getAvatar(), $oBlog->getId())) { return true; } return false; }
/** * Проверяет может ли пользователь создавать топики в определенном блоге * * @param Entity_User $oUser * @param Entity_Blog $oBlog * @return bool */ public function CanAddTopic(ModuleUser_EntityUser $oUser, ModuleBlog_EntityBlog $oBlog) { /** * Если юзер является создателем блога то разрешаем ему постить */ if ($oUser->getId() == $oBlog->getOwnerId()) { return true; } /** * Если рейтинг юзера больше либо равен порогу постинга в блоге то разрешаем постинг */ if ($oUser->getRating() >= $oBlog->getLimitRatingTopic()) { return true; } return false; }
/** * Проверяет можно или нет юзеру постить в данный блог * * @param ModuleBlog_EntityBlog $oBlog Блог * @param ModuleUser_EntityUser $oUser Пользователь * @return bool */ public function IsAllowBlog($oBlog, $oUser) { if (!$oBlog || !$oUser) { return false; } if ($oUser->isAdministrator()) { return true; } if ($oBlog->getOwnerId() == $oUser->getId()) { return true; } if ($oBlog->getType() == 'close') { /** * Для закрытых блогов проверяем среди подписчиков */ if ($oBlogUser = $this->Blog_GetBlogUserByBlogIdAndUserId($oBlog->getId(), $oUser->getId())) { if ($oUser->getRating() >= $oBlog->getLimitRatingTopic() or $oBlogUser->getIsAdministrator() or $oBlogUser->getIsModerator()) { return true; } } } else { /** * Иначе смотрим ограничение на рейтинг */ if ($oUser->getRating() >= $oBlog->getLimitRatingTopic()) { return true; } } return false; }
/** * Обновляет блог в БД * * @param ModuleBlog_EntityBlog $oBlog Объект блога * * @return bool */ public function UpdateBlog($oBlog) { $sql = "\n UPDATE ?_blog\n SET\n blog_title = ?,\n blog_description = ?,\n blog_type = ?,\n blog_date_edit = ?,\n blog_rating = ?f,\n blog_count_vote = ?d,\n blog_count_user = ?d,\n blog_count_topic = ?d,\n blog_limit_rating_topic = ?f ,\n blog_url = ?,\n blog_avatar = ?\n WHERE\n blog_id = ?d\n "; $bResult = $this->oDb->query($sql, $oBlog->getTitle(), $oBlog->getDescription(), $oBlog->getType(), $oBlog->getDateEdit(), $oBlog->getRating(), $oBlog->getCountVote(), $oBlog->getCountUser(), $oBlog->getCountTopic(), $oBlog->getLimitRatingTopic(), $oBlog->getUrl(), $oBlog->getAvatar(), $oBlog->getId()); return $bResult !== false; }
/** * Обновляет блог в БД * * @param ModuleBlog_EntityBlog $oBlog Объект блога * @return bool */ public function UpdateBlog(ModuleBlog_EntityBlog $oBlog) { $sql = "UPDATE " . Config::Get('db.table.blog') . "\n\t\t\tSET \n\t\t\t\tblog_title= ?,\n\t\t\t\tblog_description= ?,\n\t\t\t\tblog_type= ?,\n\t\t\t\tblog_date_edit= ?,\n\t\t\t\tblog_count_vote = ?d,\n\t\t\t\tblog_count_user= ?d,\n\t\t\t\tblog_count_topic= ?d,\n\t\t\t\tblog_limit_rating_topic= ?f ,\n\t\t\t\tblog_url= ?,\n\t\t\t\tblog_skip_index= ?d,\n\t\t\t\tblog_avatar= ?\n\t\t\tWHERE\n\t\t\t\tblog_id = ?d\n\t\t"; $res = $this->oDb->query($sql, $oBlog->getTitle(), $oBlog->getDescription(), $oBlog->getType(), $oBlog->getDateEdit(), $oBlog->getCountVote(), $oBlog->getCountUser(), $oBlog->getCountTopic(), $oBlog->getLimitRatingTopic(), $oBlog->getUrl(), $oBlog->getSkipIndex(), $oBlog->getAvatar(), $oBlog->getId()); return $this->IsSuccessful($res); }