亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? postwebhandler.java

?? java servlet著名論壇源代碼
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
/*
 * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/user/PostWebHandler.java,v 1.25 2004/05/19 19:11:59 minhnn Exp $
 * $Author: minhnn $
 * $Revision: 1.25 $
 * $Date: 2004/05/19 19:11:59 $
 *
 * ====================================================================
 *
 * Copyright (C) 2002-2004 by MyVietnam.net
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or any later version.
 *
 * All copyright notices regarding mvnForum MUST remain intact
 * in the scripts and in the outputted HTML.
 * The "powered by" text/logo with a link back to
 * http://www.mvnForum.com and http://www.MyVietnam.net in the
 * footer of the pages MUST remain visible when the pages
 * are viewed on the internet or intranet.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * Support can be obtained from support forums at:
 * http://www.mvnForum.com/mvnforum/index
 *
 * Correspondence and Marketing Questions can be sent to:
 * info@MyVietnam.net
 *
 * @author: Minh Nguyen  minhnn@MyVietnam.net
 * @author: Mai  Nguyen  mai.nh@MyVietnam.net
 */
package com.mvnforum.user;

import java.io.IOException;
import java.sql.Timestamp;
import java.util.*;

import javax.servlet.http.HttpServletRequest;

import com.mvnforum.*;
import com.mvnforum.auth.*;
import com.mvnforum.common.StatisticsUtil;
import com.mvnforum.db.*;
import com.mvnforum.search.*;
import net.myvietnam.mvncore.exception.*;
import net.myvietnam.mvncore.filter.DisableHtmlTagFilter;
import net.myvietnam.mvncore.interceptor.InterceptorService;
import net.myvietnam.mvncore.security.Encoder;
import net.myvietnam.mvncore.security.FloodControl;
import net.myvietnam.mvncore.util.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

class PostWebHandler {

    private static Log log = LogFactory.getLog(PostWebHandler.class);

    private OnlineUserManager onlineUserManager = OnlineUserManager.getInstance();

    PostWebHandler() {
    }

    /**
     * This method is for addpost page
     */
    void prepareAdd(HttpServletRequest request)
        throws ObjectNotFoundException, DatabaseException, BadInputException, AuthenticationException, AssertionException {

        if (MVNForumConfig.getEnableNewPost() == false) {
            throw new AssertionException("Cannot create new post because NEW_POST feature is disabled by administrator.");
        }
        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();

        if (MVNForumConfig.isGuestUserInDatabase() == false) {
            permission.ensureIsAuthenticated();
        }

        // we set this action attribute first because the return below can make method return prematurely
        request.setAttribute("action", "addnew");

        int parentPostID    = 0;
        try {
            // neu co parent thi` khong co forum !!!
            parentPostID = ParamUtil.getParameterInt(request, "parent");
        } catch (Exception ex) {
            // do nothing
            // NOTE: we cannot return here since user can have a parameter parent = 0
        }

        if (parentPostID == 0) {// new thread
            int forumID = ParamUtil.getParameterInt(request, "forum");

            ForumBean forumBean = ForumCache.getInstance().getBean(forumID);
            forumBean.ensureNotDisabledForum();
            forumBean.ensureNotClosedForum();
            forumBean.ensureNotLockedForum();

            permission.ensureCanAddThread(forumID);
        } else {// reply to a post
            // this is a parent post
            PostBean postBean = DAOFactory.getPostDAO().getPost(parentPostID);// can throw DatabaseException

            // check permission
            int forumID  = postBean.getForumID();

            ForumBean forumBean = ForumCache.getInstance().getBean(forumID);
            forumBean.ensureNotDisabledForum();
            forumBean.ensureNotClosedForum();
            forumBean.ensureNotLockedForum();

            permission.ensureCanAddPost(forumID);

            // now we prepare to list lastest post in the thread
            int threadID = postBean.getThreadID();

            // now check if thread is closed or locked, if it is, then cannot reply to a post
            ThreadBean threadBean = DAOFactory.getThreadDAO().getBean(threadID);

            threadBean.ensureStatusCanReply();

            Collection postBeans = DAOFactory.getPostDAO().getLastEnablePosts_inThread_limit(threadID, MVNForumConfig.ROWS_IN_LAST_REPLIES);
            request.setAttribute("ParentPostBean", postBean);
            request.setAttribute("PostBeans", postBeans);
        }

        boolean isPreviewing = ParamUtil.getParameterBoolean(request, "preview");
        if (isPreviewing) {
            // Check if user enter some text or not
            ParamUtil.getParameter(request, "PostTopic", true);
            ParamUtil.getParameter(request, "message", true);// use message instead of MessageBody

            MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forPublic(onlineUser.getMemberID());
            request.setAttribute("MemberBean", memberBean);
        }
    }

    void processAdd(HttpServletRequest request)
        throws ObjectNotFoundException, AssertionException, DatabaseException, CreateException,
        BadInputException, ForeignKeyNotFoundException, AuthenticationException, FloodException, InterceptorException {

        if (MVNForumConfig.getEnableNewPost() == false) {
            throw new AssertionException("Cannot create new post because NEW_POST feature is disabled by administrator.");
        }

        String currentIP = request.getRemoteAddr();
        FloodControl.ensureNotReachMaximum(MVNForumGlobal.FLOOD_ID_NEW_POST, currentIP);

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();

        int memberID        = onlineUser.getMemberID();
        String memberName   = onlineUser.getMemberName();

        Timestamp now       = DateUtil.getCurrentGMTTimestamp();

        int parentPostID    = ParamUtil.getParameterInt(request, "parent");
        boolean attachMore  = ParamUtil.getParameterBoolean(request, "AttachMore");
        boolean addFavoriteThread = ParamUtil.getParameterBoolean(request, "AddFavoriteParentThread");
        boolean addWatchThread    = ParamUtil.getParameterBoolean(request, "AddWatchParentThread");

        String postTopic = ParamUtil.getParameter(request, "PostTopic", true);
        postTopic = DisableHtmlTagFilter.filter(postTopic);// always disable HTML
        InterceptorService.getInstance().validateContent(postTopic);

        String postBody  = ParamUtil.getParameter(request, "message", true);// use message instead of MessageBody
        postBody = DisableHtmlTagFilter.filter(postBody);// always disable HTML
        InterceptorService.getInstance().validateContent(postBody);

        String postIcon = ParamUtil.getParameter(request, "PostIcon");
        postIcon = DisableHtmlTagFilter.filter(postIcon);// always disable HTML

        int forumID = 0;
        int threadID= 0;
        boolean isPendingThread = false;
        if (parentPostID == 0) {// new thread
            forumID = ParamUtil.getParameterInt(request, "forum");

            ForumBean forumBean = ForumCache.getInstance().getBean(forumID);
            forumBean.ensureNotDisabledForum();
            forumBean.ensureNotClosedForum();
            forumBean.ensureNotLockedForum();

            // check permission
            permission.ensureCanAddThread(forumID);

            String lastPostMemberName = memberName;
            int threadType            = 0;//@todo review and support it later
            int threadOption          = 0;//@todo review and support it later
            int threadStatus          = ThreadBean.THREAD_STATUS_DEFAULT;
            if (forumBean.shouldModerateThread()) {
                threadStatus          = ThreadBean.THREAD_STATUS_DISABLED;
                isPendingThread = true;
            }
            int threadHasPoll           = 0;//@todo review and support it later
            int threadDuration          = 0;//@todo review and support it later
            threadID = DAOFactory.getThreadDAO().createThread(forumID, memberName, lastPostMemberName,
                                   postTopic, postBody, 0/*threadVoteCount*/,
                                   0/*threadVoteTotalStars*/, now/*threadCreationDate*/, now/*threadLastPostDate*/,
                                   threadType, threadOption, threadStatus,
                                   threadHasPoll, 0/*threadViewCount*/, 0/*threadReplyCount*/,
                                   postIcon, threadDuration);
        } else {// reply to a post
            PostBean parentPostBean = DAOFactory.getPostDAO().getPost(parentPostID);
            forumID = parentPostBean.getForumID();
            threadID = parentPostBean.getThreadID();

            ForumBean forumBean = ForumCache.getInstance().getBean(forumID);
            forumBean.ensureNotDisabledForum();
            forumBean.ensureNotClosedForum();
            forumBean.ensureNotLockedForum();

            // check permission
            permission.ensureCanAddPost(forumID);

            // now check if thread is closed or locked, if it is, then cannot reply to a post
            ThreadBean threadBean = DAOFactory.getThreadDAO().getBean(threadID);
            threadBean.ensureStatusCanReply();
        }

        //Timestamp postLastEditDate = now;
        String postCreationIP       = currentIP;
        String postLastEditIP       = "";// should we init it to postCreationIP ???
        int postFormatOption        = 0;
        int postOption              = 0;
        int postStatus              = 0;
        if (ForumCache.getInstance().getBean(forumID).shouldModeratePost()) {
            // we will not disble post that is a thread (parentPostID == 0)
            if (parentPostID != 0) {// replied post
                postStatus              = PostBean.POST_STATUS_DISABLED;
            }
        }
        int postAttachCount         = 0;

        int postID = DAOFactory.getPostDAO().createPost(parentPostID, forumID, threadID,
                             memberID, memberName, ""/*lastEditMemberName*/,
                             postTopic, postBody, now/*postCreationDate*/,
                             now/*postLastEditDate*/, postCreationIP, postLastEditIP,
                             0/*postEditCount*/, postFormatOption, postOption,
                             postStatus, postIcon, postAttachCount);

        StatisticsUtil.updateMemberStatistics(memberID);

        StatisticsUtil.updateForumStatistics(forumID);
        StatisticsUtil.updateThreadStatistics(threadID);

        /** @todo Update PostEditLog table here */

        //add favorite thread if user checked it
        if (addFavoriteThread) {
            permission.ensureIsAuthenticated();
            //@todo: add checking of MVNForumConfig.getEnableFavoriteThread()
            // check to make sure that this user doesnt exceed his favorite max
            int currentFavoriteCount = DAOFactory.getFavoriteThreadDAO().getNumberOfBeans_inMember(memberID);
            int maxFavorites = MVNForumConfig.getMaxFavoriteThread();
            if (currentFavoriteCount < maxFavorites) {
                Timestamp favoriteCreationDate = now;
                int favoriteType = 0; //@todo implement it later
                int favoriteOption = 0; //@todo implement it later
                int favoriteStatus = 0; //@todo implement it later

                // now check permission the this user have the readPost permission
                permission.ensureCanReadPost(forumID);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色94色欧美sute亚洲线路二| 亚洲欧美精品午睡沙发| 日韩专区中文字幕一区二区| 欧美中文字幕一区二区三区亚洲| 一区二区三区四区在线播放| 色婷婷av一区二区三区大白胸| 伊人婷婷欧美激情| 色视频欧美一区二区三区| 亚洲一区二区视频| 欧美高清视频www夜色资源网| 日韩不卡免费视频| 精品国产伦一区二区三区观看体验| 国产一区二区三区| 一区在线播放视频| 欧美精品久久久久久久多人混战 | 欧美二区三区91| 激情久久久久久久久久久久久久久久| 亚洲一二三四区| 一区二区在线看| 国产精品资源网站| 日本高清免费不卡视频| 欧美日韩国产综合一区二区三区| 亚洲国产精品99久久久久久久久| 亚洲天堂网中文字| 久久99精品久久久久久久久久久久| 粉嫩欧美一区二区三区高清影视| 欧美日韩综合一区| 亚洲精品你懂的| 亚洲一区二区免费视频| 欧美一区二区三区成人| 激情图区综合网| 亚洲在线视频网站| 精品国产青草久久久久福利| 一本大道综合伊人精品热热| 水蜜桃久久夜色精品一区的特点| 久久久天堂av| 9191精品国产综合久久久久久 | 欧美一区二视频| 国产成人自拍高清视频在线免费播放| 一区二区三区欧美视频| 2020国产精品自拍| 欧美日韩一级片在线观看| 国产一区二区三区最好精华液| 一区二区三区四区国产精品| 久久精品一区蜜桃臀影院| 欧美性做爰猛烈叫床潮| 成人性生交大片免费| 日本vs亚洲vs韩国一区三区二区 | 轻轻草成人在线| 亚洲欧美偷拍三级| 久久久久9999亚洲精品| 欧美欧美午夜aⅴ在线观看| 成人avav影音| 国产精品一区二区视频| 偷拍一区二区三区四区| 亚洲女人的天堂| 亚洲婷婷综合色高清在线| 久久免费看少妇高潮| 欧美精品乱码久久久久久| 91福利视频久久久久| 韩国三级在线一区| 全国精品久久少妇| 午夜精品影院在线观看| 亚洲综合免费观看高清完整版 | 欧美韩日一区二区三区| 日韩欧美视频在线| 欧美老人xxxx18| 色美美综合视频| 国产乱色国产精品免费视频| 亚洲视频精选在线| 国产亚洲欧洲一区高清在线观看| 欧美精品一二三区| 不卡av电影在线播放| 天天色天天操综合| 日韩avvvv在线播放| 精品国产青草久久久久福利| 色综合天天综合网天天狠天天| 青青草97国产精品免费观看无弹窗版| 欧美激情一区二区三区| 国产午夜精品在线观看| 久久在线免费观看| 日韩女优毛片在线| 日韩欧美在线综合网| 精品理论电影在线观看| 精品国偷自产国产一区| 精品国产凹凸成av人网站| 欧美电影免费观看高清完整版在线 | 在线电影一区二区三区| 日韩一区二区在线看片| 日韩精品综合一本久道在线视频| 欧美一区二区福利在线| 精品成人免费观看| 国产亚洲精品久| 国产精品白丝在线| 亚洲另类色综合网站| 亚洲国产视频在线| 丝袜亚洲另类欧美| 久久成人羞羞网站| 风间由美一区二区三区在线观看| 国产suv精品一区二区三区| 成人免费高清视频| 欧美亚洲一区三区| 精品久久久久一区二区国产| 久久九九久久九九| 最新成人av在线| 日韩黄色在线观看| 国产精品123区| 91精品1区2区| 欧美成人猛片aaaaaaa| 欧美激情在线一区二区三区| 一区二区三区波多野结衣在线观看 | 三级欧美韩日大片在线看| 蜜臀精品一区二区三区在线观看| 国产在线日韩欧美| 色婷婷激情一区二区三区| 欧美老人xxxx18| 国产精品蜜臀在线观看| 亚洲电影第三页| 国产精品乡下勾搭老头1| 在线欧美小视频| 精品国产伦理网| 一区二区三区蜜桃网| 精品一区二区三区久久| 91亚洲大成网污www| 日韩女优制服丝袜电影| 亚洲免费在线视频| 国产真实乱子伦精品视频| 在线免费观看视频一区| 欧美性色黄大片| 狠狠色狠狠色合久久伊人| 91精品办公室少妇高潮对白| 久久久久久久综合| 亚洲一二三四久久| 91网页版在线| 久久综合九色综合久久久精品综合| 亚洲人吸女人奶水| 国内精品嫩模私拍在线| 在线播放国产精品二区一二区四区| 久久久www成人免费毛片麻豆 | 99视频有精品| 欧美肥大bbwbbw高潮| 亚洲色图视频网| 国产自产v一区二区三区c| 欧美午夜精品久久久久久超碰| 国产欧美日本一区二区三区| 免费美女久久99| 在线欧美日韩国产| 亚洲欧洲美洲综合色网| 国产乱人伦偷精品视频不卡| 欧美日韩国产成人在线91| 亚洲日本免费电影| 成人高清视频在线| 国产日韩三级在线| 国产在线精品免费| 欧美xxx久久| 国产资源在线一区| 91精品国产色综合久久| 亚洲成va人在线观看| 色av一区二区| 亚洲女人的天堂| 色综合 综合色| 综合中文字幕亚洲| 暴力调教一区二区三区| 欧美国产精品劲爆| 国产99久久久久久免费看农村| 久久综合av免费| 国产一区二区免费视频| 久久久久久久综合狠狠综合| 国产一区二区三区四| 国产亚洲欧洲997久久综合| 国产麻豆视频一区二区| 2023国产精品视频| 狠狠色丁香婷婷综合| 久久久久久久免费视频了| 国产成人欧美日韩在线电影| 国产精品网站在线| 成人教育av在线| 亚洲天堂中文字幕| 欧美色图片你懂的| 人禽交欧美网站| 久久久久久久久久久久电影| 丰满亚洲少妇av| 亚洲人被黑人高潮完整版| 色诱亚洲精品久久久久久| 亚洲国产欧美在线人成| 欧美福利视频导航| 国产一区三区三区| 国产精品网站在线观看| 色94色欧美sute亚洲线路一ni | 欧美写真视频网站| 成人sese在线| 欧美巨大另类极品videosbest| xnxx国产精品| 精品伦理精品一区| 欧美色偷偷大香| 欧美日韩国产综合草草| 日本丶国产丶欧美色综合| 欧美日韩在线一区二区| 极品销魂美女一区二区三区| 日韩二区在线观看|