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

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

?? diaryaction.java

?? 個人Blog java編寫的Blog可以直接使用!
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/*
 *  DiaryAction.java
 *  
 *  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
 *  (at your option) any later version.
 *
 *  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 Library 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.
 *  
 *  Author: Winter Lau
 *  http://dlog4j.sourceforge.net
 *  
 */
package com.liusoft.dlog4j.action;

import java.text.MessageFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

import com.liusoft.dlog4j.TextCacheManager;
import com.liusoft.dlog4j.base.ClientInfo;
import com.liusoft.dlog4j.beans.CatalogBean;
import com.liusoft.dlog4j.beans.DiaryBean;
import com.liusoft.dlog4j.beans.DiaryOutlineBean;
import com.liusoft.dlog4j.beans.FckUploadFileBean;
import com.liusoft.dlog4j.beans.MusicBean;
import com.liusoft.dlog4j.beans.SiteBean;
import com.liusoft.dlog4j.beans.UserBean;
import com.liusoft.dlog4j.dao.CatalogDAO;
import com.liusoft.dlog4j.dao.DiaryDAO;
import com.liusoft.dlog4j.dao.FCKUploadFileDAO;
import com.liusoft.dlog4j.dao.MusicDAO;
import com.liusoft.dlog4j.formbean.DiaryForm;
import com.liusoft.dlog4j.search.SearchProxy;
import com.liusoft.dlog4j.util.DateUtils;
import com.liusoft.dlog4j.util.RequestUtils;
import com.liusoft.dlog4j.util.StringUtils;

/**
 * 日記相關操作的Action
 * 
 * @author liudong
 */
public class DiaryAction extends ActionBase {

	public final static String DEFAULT_WEATHER = "sunny";

	/**
	 * 將日記標志為精華
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 * @ajax_enabled
	 */
	protected void doMarkDiaryAsElite(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response, String s_id) throws Exception {
		int diary_id = Integer.parseInt(s_id);
		String msg = "";
		do{
			UserBean loginUser = super.getLoginUser(request, response);
			if(!SiteBean.isSuperior(loginUser)){
				msg = getMessage(request,null,"error.access_deny");
				break;
			}
			boolean elite = "1".equals(request.getParameter("elite"));
			int er = DiaryDAO.markDiaryAsElite(diary_id, elite);
			msg = getMessage(request,null,(er<1)?"error.diary_not_exists":"operation_done");
			break;
		}while(true);
		
		outputPlainMsg(response, msg);
	}
	
	/**
	 * 自動創建日記分類并開始寫日記
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @param s_log_id
	 * @return
	 * @throws Exception
	 */
	protected ActionForward doAutoCreateCatalogAndWrite(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response, String s_log_id) throws Exception {
		DiaryForm dform = (DiaryForm) form;
		ActionMessages msgs = super.validateSiteOwner(request, response, dform);
		
		do{
			if (!msgs.isEmpty())
				break;
			String catalog = dform.getCatalog();
			if (StringUtils.isEmpty(catalog)) 
				break;
			SiteBean site = super.getSiteBean(request);			
			if (site.getCatalogs().size() > 0)
				break;
			
			CatalogBean cbean = new CatalogBean();
			cbean.setName(catalog);
			cbean.setCreateTime(new Date());
			cbean.setType(CatalogBean.TYPE_GENERAL);
			cbean.setSite(site);
			CatalogDAO.create(cbean, -1, false);
			break;
		}while(true);

		return makeForward(mapping.findForward("addlog"), dform.getSid());
	}

	/**
	 * 從日記垃圾箱中恢復日記
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	protected ActionForward doUndelete(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response,
			String s_log_id) throws Exception {
		int log_id = Integer.parseInt(s_log_id);
		DiaryForm diaryForm = (DiaryForm) form;
		UserBean loginUser = super.getLoginUser(request, response);
		String msg = null;
		String page = "diary";
		while (true) {
			if (loginUser == null) {
				msg = getMessage(request, null, "error.user_not_login");
				break;
			}
			if (loginUser.getStatus() != UserBean.STATUS_NORMAL) {
				msg = getMessage(request, null, "error.user_disabled");
				break;
			}
			DiaryOutlineBean log = DiaryDAO.getDiaryOutlineByID(log_id);
			if (log == null || log.getStatus() != DiaryBean.STATUS_DELETED) {
				msg = getMessage(request, null, "error.diary_not_exists");
				break;
			}
			// 只有站長可以從垃圾箱中恢復日記
			if (loginUser.getOwnSiteId()!=diaryForm.getSid() && !SiteBean.isSuperior(loginUser) && log.getOwner().getId()!=loginUser.getId()){
				msg = getMessage(request, null, "error.access_deny");
				break;
			}
			try {
				DiaryDAO.unDelete(log);
				page = "trash";
			} catch (Exception e) {
				context().log("undelete diary failed.", e);
				msg = getMessage(request, null, "error.database", e
						.getMessage());
			}
			break;
		}
		String uri = makeForward(mapping.findForward(page), diaryForm.getSid())
				.getPath();
		return msgbox(mapping, form, request, response, msg, uri);
	}

	/**
	 * 修改日記
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	protected ActionForward doUpdateLog(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionMessages msgs = new ActionMessages();
		DiaryForm diaryForm = (DiaryForm) form;
		//super.validateClientId(request, diaryForm);
		UserBean loginUser = super.getLoginUser(request, response);
		if (loginUser == null) {
			msgs.add("editlog", new ActionMessage("error.user_not_login"));
		} else {
			DiaryBean diary = DiaryDAO.getDiaryByID(diaryForm.getId());
			if (diary == null) {
				msgs
						.add("editlog", new ActionMessage(
								"error.diary_not_exists"));
			} else if (!DiaryDAO.canUserEditDiary(loginUser, diary)) {
				msgs.add("editlog", new ActionMessage("error.access_deny"));
			} else {
				boolean catalog_can_access = false;
				if (diary.getCatalog().getId() != diaryForm.getCatalogId()) {
					SiteBean site = diary.getSite();
					CatalogBean catalog = null;
					// 站長可以訪問站內的任何分類
					if (site.isOwner(loginUser)) {
						catalog = CatalogDAO.getCatalogByID(diaryForm
								.getCatalogId());
						if (catalog.getSite().getId() == site.getId())
							catalog_can_access = true;
					} else {
						// 列出用戶在該站點可訪問的日記分類
						List catalogs = CatalogDAO.listCatalogs(site, loginUser, true);
						for (int i = 0; catalogs != null && i < catalogs.size(); i++) {
							CatalogBean t_catalog = (CatalogBean) catalogs
									.get(i);
							if (t_catalog.getId() == diaryForm.getCatalogId()) {
								catalog = t_catalog;
								catalog_can_access = true;
								break;
							}
						}
					}
					// 更新日記所屬分類
					if (catalog != null) {
						diary.getCatalog().incArticleCount(-1);
						diary.setCatalog(catalog);
						catalog.incArticleCount(1);
					}
				} else
					catalog_can_access = true;
				if (catalog_can_access) {
					SiteBean site = diary.getSite();
					// 更新日記
					boolean updateTags = false;
					if (!StringUtils.equals(diary.getKeyword(), diaryForm
							.getTags())) {
						updateTags = true;
						if (StringUtils.isNotEmpty(diaryForm.getTags()))
							diary.setKeyword(super.autoFiltrate(site, diaryForm.getTags()));
						else {
							diary.setKeyword(null);
						}
					}
					diary.setTitle(super.autoFiltrate(site,diaryForm.getTitle()));
					if (!StringUtils.equals(diaryForm.getContent(), diary.getContent())) {
						diary.setContent(super.autoFiltrate(site,diaryForm.getContent()));
						diary.setSize(diaryForm.getContent().getBytes().length);
						//更新文本緩存(Winter Lau, 2006-5-12)
						if(diary.getStatus() == DiaryBean.STATUS_NORMAL)
							TextCacheManager.updateTextContent(DiaryBean.TYPE_DIARY, diary.getId(), diary.getContent());
					}
					diary.setAuthor(diaryForm.getAuthor());
					if (StringUtils.isNotEmpty(diaryForm.getAuthorUrl()))
						diary.setAuthorUrl(diaryForm.getAuthorUrl());
					diary.setMoodLevel(diaryForm.getMoodLevel());
					if (StringUtils.isNotEmpty(diaryForm.getRefUrl()))
						diary.setRefUrl(diaryForm.getRefUrl());
					diary.setReplyNotify(diaryForm.getNotify());
					diary.setWeather(diaryForm.getWeather());
					diary.setModifyTime(new Date());
					if (diaryForm.getBgSound() != -1) {
						// 檢查背景音樂是否有效
						MusicBean song = MusicDAO.getMusicByID(diaryForm.getBgSound());
						if (song != null
								&& song.getSite().getId() == diary.getSite().getId()) {
							diary.setBgSound(song);
						}
					}
					try {
						// 檢索上傳的信息
						pickupUploadFileItems(request, response, loginUser
								.getId(), diary.getSite(), diary.getId(), DiaryBean.TYPE_DIARY);
						DiaryDAO.update(diary, updateTags);
					} catch (Exception e) {
						context().log("update diary failed.", e);
						msgs.add("editlog", new ActionMessage("error.database",
								e.getMessage()));
					}
				} else
					msgs.add("log", new ActionMessage("error.catalog_deny",
							new Integer(diaryForm.getCatalogId())));
			}
		}
		if (!msgs.isEmpty()) {
			saveMessages(request, msgs);
			return mapping.findForward("editlog");
		}
		if (diaryForm.getStatus() == DiaryBean.STATUS_DRAFT) {
			return makeForward(mapping.findForward("draft"), diaryForm.getSid());
		}
		return makeForward(mapping.findForward("showlog"), diaryForm.getSid(),
				"log_id", diaryForm.getId());
	}

	/**
	 * 清空垃圾箱
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	protected ActionForward doCleanupTrash(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		DiaryForm diaryForm = (DiaryForm) form;
		UserBean loginUser = super.getLoginUser(request, response);
		String msg = null;
		if (loginUser == null) {
			msg = getMessage(request, null, "error.user_not_login");
		} else {
			if (loginUser.getOwnSiteId()!=diaryForm.getSid()) {
				msg = getMessage(request, null, "error.access_deny");
			} else {
				try {
					DiaryDAO.cleanupTrash(diaryForm.getSid());
					msg = getMessage(request, null, "trash.empty");
				} catch (Exception e) {
					context().log("delete diary failed.", e);
					msg = getMessage(request, null, "error.database", e
							.getMessage());
				}
			}
		}
		String uri = makeForward(mapping.findForward("trash"),

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲h精品动漫在线观看| 成人毛片在线观看| 不卡一区中文字幕| 欧美精品丝袜久久久中文字幕| 国产色91在线| 亚洲成人av中文| 成人综合婷婷国产精品久久免费| 欧美日韩国产首页| 日韩成人免费在线| 成人福利视频在线| 欧美成人在线直播| 日韩成人免费看| 在线观看网站黄不卡| 国产精品每日更新| 国产高清亚洲一区| 精品捆绑美女sm三区| 三级久久三级久久久| 色综合天天综合网天天狠天天| 久久久久亚洲蜜桃| 美女视频黄久久| 337p亚洲精品色噜噜| 亚洲小说春色综合另类电影| 色综合久久中文字幕综合网| 中文在线免费一区三区高中清不卡| 美国精品在线观看| 4438x亚洲最大成人网| 五月天欧美精品| 91免费国产在线| 亚洲人成网站精品片在线观看| 国产成人一级电影| 久久久久国产精品免费免费搜索| 全国精品久久少妇| 日韩亚洲欧美高清| 激情综合网av| 2017欧美狠狠色| 国产精品一区二区果冻传媒| 久久久欧美精品sm网站| 国产福利一区二区三区在线视频| 欧美激情一区二区三区四区| 国产不卡视频在线播放| 国产午夜精品福利| 成人av电影在线观看| 国产精品久久久久久亚洲毛片| 成人av午夜电影| 亚洲欧美日本韩国| 91高清视频在线| 午夜伊人狠狠久久| 精品精品欲导航| 国产在线一区二区综合免费视频| 欧美激情综合五月色丁香小说| 成人av网站免费| 亚洲亚洲精品在线观看| 欧美大片日本大片免费观看| 国产一区二区三区av电影| 国产欧美日韩另类一区| 99免费精品视频| 亚洲大片在线观看| 精品美女在线观看| 91在线视频播放| 五月婷婷综合网| 国产无遮挡一区二区三区毛片日本| www.成人网.com| 亚洲电影第三页| 久久久久99精品一区| 91同城在线观看| 成人小视频在线观看| 亚洲免费av网站| 欧美一区二区三区在线电影| 成人性生交大合| 日韩中文字幕1| 中国色在线观看另类| 欧美三级电影在线看| 国产大片一区二区| 亚洲国产精品久久艾草纯爱| 久久午夜国产精品| 欧美自拍丝袜亚洲| 国产一区二区免费视频| 亚洲国产一区二区三区 | 久久精品视频一区| 日本丶国产丶欧美色综合| 精品一区二区三区不卡| 亚洲乱码中文字幕综合| 日韩欧美亚洲国产另类 | 成人av网站在线| 蜜臀av一区二区在线观看 | 国产欧美一区在线| 91精品国产丝袜白色高跟鞋| 99热在这里有精品免费| 韩国一区二区三区| 午夜国产精品影院在线观看| 国产精品二区一区二区aⅴ污介绍| 制服.丝袜.亚洲.另类.中文| 99国产精品国产精品毛片| 国产中文字幕精品| 美女网站色91| 免费成人在线观看视频| 国产精品1024久久| 精品一区二区三区视频在线观看| 亚洲第一在线综合网站| 亚洲日本va午夜在线电影| 久久精品人人做人人综合| 6080亚洲精品一区二区| 欧美日韩高清一区| 色婷婷久久久久swag精品| 成人一区二区三区在线观看| 国产一区91精品张津瑜| 国产在线视频一区二区三区| 麻豆极品一区二区三区| 国产女主播视频一区二区| 中文字幕日韩精品一区| 久久久www成人免费毛片麻豆 | 日韩一区二区免费在线电影| 色天天综合久久久久综合片| 成人午夜大片免费观看| 成人性视频网站| 成人免费视频一区| 99精品国产视频| 不卡的电影网站| 91色视频在线| 91国产免费看| 欧美精品精品一区| 日韩一区二区三区三四区视频在线观看 | 亚洲精品乱码久久久久久日本蜜臀| 久久婷婷综合激情| 国产清纯白嫩初高生在线观看91| 久久精品无码一区二区三区| 中文字幕免费一区| 日本一区二区成人在线| 中文字幕在线一区二区三区| 中文字幕中文在线不卡住| 亚洲美女屁股眼交| 天天色综合天天| 久久精品国产久精国产爱| 国产一区二区三区观看| 99视频在线观看一区三区| 91老师片黄在线观看| 欧美三级日韩三级| 日韩一区二区三区电影| 国产日韩欧美不卡在线| 亚洲人快播电影网| 日本视频在线一区| 国产成人自拍高清视频在线免费播放| 国产69精品久久99不卡| 91视频在线观看| 5566中文字幕一区二区电影| 精品成人一区二区| 亚洲人成人一区二区在线观看 | 国产精品女人毛片| 一区二区三区欧美| 麻豆久久久久久| 不卡一卡二卡三乱码免费网站| 欧美午夜精品理论片a级按摩| 欧美不卡在线视频| 亚洲欧美一区二区三区久本道91| 日韩精品免费专区| 99re66热这里只有精品3直播| 欧美影片第一页| 国产亚洲短视频| 亚洲v中文字幕| 国产成人综合自拍| 欧美精品久久一区二区三区| 国产精品每日更新在线播放网址| 日韩国产一二三区| 99精品视频一区二区三区| 51午夜精品国产| 亚洲精品一二三| 国产精品一卡二卡| 欧美电影一区二区| 亚洲久草在线视频| 国产精品自在欧美一区| 欧美精选一区二区| 最新久久zyz资源站| 国产精品综合久久| 欧美一级理论片| 午夜视黄欧洲亚洲| 成人av资源下载| 久久久久99精品一区| 奇米色777欧美一区二区| 91激情在线视频| 中文字幕五月欧美| 国产99精品视频| 日韩一区二区三区在线视频| 亚洲国产aⅴ成人精品无吗| 北条麻妃一区二区三区| 久久一区二区三区四区| 久久超碰97人人做人人爱| 欧美欧美午夜aⅴ在线观看| 亚洲精品免费在线观看| 91在线免费看| 亚洲欧洲日韩综合一区二区| 国产成人精品亚洲777人妖| 久久久综合九色合综国产精品| 另类小说视频一区二区| 51久久夜色精品国产麻豆| 亚洲国产精品久久不卡毛片| 91久久香蕉国产日韩欧美9色| 国产精品电影一区二区三区| 成人h精品动漫一区二区三区| 中文字幕乱码久久午夜不卡| 粉嫩aⅴ一区二区三区四区 |