コード例 #1
0
 public function AddCommentAction()
 {
     $request = Project::getRequest();
     $item_name = $request->item_name;
     $comment_model = new CommentModel($item_name . '_comment', $item_name . '_id', 0);
     switch ($item_name) {
         case 'article':
             $item_model = new ArticleModel();
             break;
         case 'questions':
             $item_model = new QuestionModel();
             break;
         case 'photo':
             $item_model = new PhotoModel();
             break;
         case 'bookmarks':
             $item_model = new BookmarksModel();
             break;
         case 'social':
             $item_model = new SocialModel();
             break;
         case 'blog':
             $item_model = new BlogModel('blog_post');
             break;
     }
     $item_model->load($request->element_id);
     if ($item_model->id > 0 && $request->add_comment) {
         $comment_model->addComment(Project::getUser()->getDbUser()->id, $request->avatar_id, 0, $request->element_id, $request->comment, $request->mood_id, $request->mood_text, 0);
         $item_model->comments++;
         $item_model->save();
     }
     Project::getResponse()->redirect($request->createUrl($request->cur_controller, $request->cur_action, array($request->element_id)));
 }
コード例 #2
0
ファイル: BlogController.php プロジェクト: amanai/next24
 public function CommentsAction()
 {
     $request = Project::getRequest();
     $request_user_id = (int) Project::getUser()->getShowedUser()->id;
     $user_id = (int) Project::getUser()->getDbUser()->id;
     $this->BaseSiteData();
     $info = array();
     $this->BaseBlogData($info);
     $post_id = (int) $request->getKeyByNumber(0);
     $post_page_number = (int) $request->getKeyByNumber(1);
     $page_number = (int) $request->getKeyByNumber(2);
     $post_model = new BlogPostModel();
     $post = $post_model->getPost($post_id, $user_id, $request_user_id);
     if (!$post) {
         $request->clear();
         $this->_view->addFlashMessage(FM::ERROR, "Полный текст этого поста доступен только после подписки на блог.");
         $this->PostListAction();
         return;
     }
     $post_model->load($post_id);
     $this->_view->assign('current_tree_name', $post_model->getTreeNameById($post_model->ub_tree_id));
     $this->_view->assign('post_id', $post_model->id);
     $info['full_text'] = $request_user_id !== $user_id ? $this->PostPreprocess($post_model->full_text, $user_id, $post_model->ub_tree_id) : $post_model->full_text;
     $info['post_title'] = $post_model->title;
     $info['post_creation_date'] = $post_model->creation_date;
     $info['post_allow_comments'] = (int) $post_model->allowcomments;
     $tree_model = new BlogTreeModel();
     $tree_model->load($post_model->ub_tree_id);
     $blog_banners_model = new BlogModel('blog_banners');
     $blog_banners_model->load($tree_model->blog_banner_id);
     $info['blog_banner_code'] = $blog_banners_model->code;
     $controller = new BaseCommentController();
     $info['comment_list'] = $controller->CommentList($post_id, $page_number, $this->getParam('comment_per_page'), 'Blog', 'Comments', 'blog', array($post_id, $post_page_number), (int) $post_model->allowcomments);
     $tag_model = new BlogTagModel();
     $tag_model->load($post_model->bc_tag_id);
     $info['post_tag'] = $tag_model->name;
     //$moodModel = new MoodModel();
     //$moodModel->load($post_model->mood);
     $info['post_mood'] = $post_model->mood;
     //$moodModel -> name;
     $userModel = new UserModel();
     $info['user_avatar'] = $userModel->getFullAvatarById($post_model->avatar_id);
     $info['add_comment_url'] = $request->createUrl('Blog', 'SaveComment', array($post_id, $post_page_number, $page_number));
     $this->_view->assign('post_user_id', $request_user_id);
     $this->_view->CommentList($info);
     $this->_view->parse();
 }