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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? article.java

?? JEECMS此次版本升級相比之前的2.0版本做了比較大的改進
?? JAVA
字號:
package com.jeecms.article.entity;

import static com.jeecms.core.Constants.*;

import java.io.File;
import java.io.IOException;
import java.util.Date;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.jeecms.article.entity.base.BaseArticle;
import com.jeecms.cms.Constants;
import com.jeecms.core.util.ContentInterface;
import com.ponyjava.common.util.ComUtils;
import com.ponyjava.common.util.StrUtils;

public class Article extends BaseArticle implements ContentInterface {
	private static final long serialVersionUID = 1L;
	private static final Logger log = LoggerFactory.getLogger(Article.class);
	/**
	 * 文章表內(nèi)容的存放地址
	 */
	public static final String ARTICLE_PATH = "article_content";
	/**
	 * 上傳文章圖片相對地址
	 */
	public static final String UPLOAD_PATH = SPT + Constants.ARTICLE_SYS;
	public static final String SUFFIX = ".txt";
	public static final int SPLIT_COUNT = 1000;
	public static final String SPLIT = "<div>[NextPage][/NextPage]</div>";
	public static final String SPLIT_REG = "<div>\\[NextPage\\]\\[/NextPage\\]</div>";

	/**
	 * 獲得url地址
	 * 
	 * @return
	 */
	public String getUrl() {
		if (!StringUtils.isBlank(getOuterUrl())) {
			return getOuterUrl();
		}
		StringBuilder sb = getWebsite().getWebUrlBuf();
		String path = getChannel().getPath();
		if (!StringUtils.isBlank(path)) {
			sb.append(SPT).append(path);
		}
		sb.append(SPT).append(getId()).append(".").append(
				getWebsite().getSuffix());
		return sb.toString();
	}

	/**
	 * 選擇模板
	 * 
	 * @return
	 */
	// @ TODO 處理文章指定模板
	public String chooseTpl() {
		return getChannel().chooseTplContent();
	}

	/**
	 * 獲得第N頁的內(nèi)容相對路徑。用戶包含文件。
	 * 
	 * @param pageNo
	 * @return
	 */
	public String relPath(int pageNo) {
		StringBuilder sb = getWebsite().getUserRoot();
		sb.append(SPT).append(ARTICLE_PATH).append(SPT).append(
				(getId() / SPLIT_COUNT) + 1).append(SPT).append(getId())
				.append("_").append(pageNo).append(SUFFIX);
		return sb.toString();
	}

	/**
	 * 獲得第N頁的絕對地址
	 * 
	 * @param root
	 * @param pageNo
	 * @return
	 */
	private String getRealPath(String root, int pageNo) {
		StringBuilder sb = new StringBuilder(root);
		sb.append(relPath(pageNo));
		return sb.toString().replace(SPT, File.separatorChar);
	}

	/**
	 * 從文件讀取內(nèi)容
	 * 
	 * @return
	 */
	public String getContentFromFile() {
		if (rootReal == null) {
			throw new RuntimeException("請先設(shè)置服務(wù)器絕對路徑rootReal");
		}
		return getContentFromFile(rootReal);
	}

	/**
	 * 從文件讀取內(nèi)容
	 * 
	 * @param root
	 * @return
	 */
	public String getContentFromFile(String root) {
		// @ TODO 處理資源路徑、域名、防盜鏈路徑改變的問題
		StringBuilder sb = new StringBuilder();
		try {
			File f = null;
			Integer count = getPageCount();
			if (count == null) {
				count = 0;
			}
			for (int i = 0; i < count; i++) {
				f = new File(getRealPath(root, i + 1));
				sb.append(FileUtils.readFileToString(f));
				if (i + 1 < count) {
					sb.append(SPLIT);
				}
			}
		} catch (IOException e) {
			log.error("讀取文章內(nèi)容失敗", e);
		}
		return sb.toString();
	}

	/**
	 * 刪除文章文件
	 * 
	 * @param root
	 */
	public void deleteContentFile(String root) {
		File f = null;
		Integer count = getPageCount();
		if (count == null) {
			count = 0;
		}
		for (int i = 0; i < count; i++) {
			f = new File(getRealPath(root, i + 1));
			f.deleteOnExit();
		}
	}

	/**
	 * 將內(nèi)容寫入文件。并刪除多余分頁。
	 * 
	 * @param origCount
	 *            原有分頁。0為原文章沒有內(nèi)容
	 * 
	 * @param root
	 */
	public void writeContent(String root, int origCount) {
		String c = getContent();
		if (c == null) {
			c = "";
		}
		String[] arr = c.split(SPLIT_REG);
		try {
			int currCount = arr.length;
			for (int i = 0; i < currCount; i++) {
				File f = new File(getRealPath(root, i + 1));
				FileUtils.writeStringToFile(f, arr[i]);
			}
			for (int i = currCount; i < origCount; i++) {
				File f = new File(getRealPath(root, i + 1));
				f.deleteOnExit();
			}
		} catch (IOException e) {
			log.error("寫文章內(nèi)容失敗", e);
		}
	}

	/**
	 * 獲得內(nèi)容中的頁數(shù)
	 * 
	 * @return
	 */
	public int getPageCountFromContent() {
		String c = getContent();
		if (StringUtils.isEmpty(c)) {
			return 0;
		} else {
			return StringUtils.countMatches(getContent(), SPLIT) + 1;
		}
	}

	@Override
	public String desc(int len) {
		String s = getDescription();
		if (StringUtils.isBlank(s)) {
			return "";
		} else {
			return StrUtils.getCn(s, len);
		}
	}

	@Override
	public String getImgUrl() {
		String img = getTitleImg();
		if (StringUtils.isBlank(img)) {
			// TODO 鏈接到圖片默認的提示圖片
			return "";
		} else {
			return getWebsite().getUploadUrlBuf().append(img).toString();
		}
	}

	@Override
	public boolean isTitBold() {
		return getBold();
	}

	@Override
	public String stit(int len) {
		String s = getShortTitle();
		if (StringUtils.isBlank(s)) {
			return getTitle();
		} else {
			return StrUtils.getCn(s, len);
		}
	}

	@Override
	public String tit(int len) {
		String s = getTitle();
		if (StringUtils.isBlank(s)) {
			return "";
		} else {
			return StrUtils.getCn(s, len);
		}
	}

	@Override
	public String getTitCol() {
		String s = getTitleColor();
		if (s == null) {
			return "";
		} else {
			return s;
		}
	}

	@Override
	public String getCtgName() {
		return getChannel().getName();
	}

	@Override
	public String getCtgUrl() {
		return getChannel().getUrl();
	}

	@Override
	public String getWebName() {
		return getWebsite().getShortName();
	}

	@Override
	public String getWebUrl() {
		return getWebsite().getWebUrl();
	}

	@Override
	public String getDate(int style) {
		Date date = getReleaseDate();
		return ComUtils.formatDate(date, style);
	}

	private String content;
	private String rootReal;

	/* [CONSTRUCTOR MARKER BEGIN] */
	public Article() {
		super();
	}

	/**
	 * Constructor for primary key
	 */
	public Article(java.lang.Long id) {
		super(id);
	}

	/**
	 * Constructor for required fields
	 */
	public Article(java.lang.Long id, com.jeecms.article.entity.ArtiCtg ctg,
			com.jeecms.cms.entity.CmsChannel channel,
			com.jeecms.core.entity.Website website,
			java.lang.Boolean hasTitleImg, java.lang.Boolean bold,
			java.lang.Boolean draft, java.lang.Boolean recommend,
			java.lang.Boolean check, java.lang.Boolean disabled,
			java.lang.Boolean reject) {

		super(id, ctg, channel, website, hasTitleImg, bold, draft, recommend,
				check, disabled, reject);
	}

	/* [CONSTRUCTOR MARKER END] */

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getRootReal() {
		return rootReal;
	}

	public void setRootReal(String rootReal) {
		this.rootReal = rootReal;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产欧美综合| 精品国产sm最大网站免费看| 一区二区三区波多野结衣在线观看| 国产91丝袜在线18| 国产精品国产自产拍高清av| av影院午夜一区| 亚洲一区二区三区中文字幕| 91精品国产欧美一区二区18| 奇米在线7777在线精品| 久久蜜桃av一区精品变态类天堂 | 欧美一区二区精品在线| 美腿丝袜亚洲综合| 国产日韩欧美在线一区| 99久久精品免费观看| 香港成人在线视频| 欧美mv日韩mv| 99久久国产综合精品麻豆| 亚洲高清视频在线| 亚洲精品一区二区三区在线观看| 国产成人av福利| 亚洲一级片在线观看| 日韩一区二区精品在线观看| 成人激情电影免费在线观看| 亚洲最新视频在线观看| 精品久久久久久久久久久久久久久久久 | 黄色日韩网站视频| 成人欧美一区二区三区在线播放| 欧美日韩成人在线| 成人自拍视频在线观看| 亚洲va欧美va国产va天堂影院| 久久视频一区二区| 欧美手机在线视频| 国产不卡视频一区| 天天av天天翘天天综合网色鬼国产 | 一区二区三区在线播| 亚洲精品一区二区三区精华液 | 国内精品视频一区二区三区八戒| 国产精品久久毛片| 日韩一级片网站| 色婷婷激情综合| 国产一区二区三区在线观看精品| 樱桃视频在线观看一区| 久久精品人人爽人人爽| 在线不卡a资源高清| av中文字幕亚洲| 精品亚洲porn| 午夜精品久久久久久久久久| 国产精品护士白丝一区av| 欧美精品一区二区在线播放| 欧美午夜片在线看| aaa欧美大片| 国产精品99久| 国内精品不卡在线| 日本在线观看不卡视频| 一区二区三区国产| 成人欧美一区二区三区黑人麻豆| 久久久久国色av免费看影院| 日韩欧美一二三四区| 欧美酷刑日本凌虐凌虐| 在线亚洲人成电影网站色www| 国产成人欧美日韩在线电影| 国产在线精品一区二区三区不卡 | 欧美亚洲免费在线一区| 99久久精品国产一区| 成人免费视频一区| 夫妻av一区二区| 国产一区二区免费看| 蜜桃传媒麻豆第一区在线观看| 亚洲成人高清在线| 亚洲午夜国产一区99re久久| 伊人一区二区三区| 亚洲激情五月婷婷| 亚洲精品乱码久久久久久日本蜜臀| 欧美激情一二三区| 国产精品亲子乱子伦xxxx裸| 国产丝袜欧美中文另类| 国产农村妇女精品| 欧美国产成人精品| 中文字幕一区二区在线播放| 亚洲天堂成人网| 亚洲靠逼com| 亚洲高清免费视频| 日韩av一区二区在线影视| 天堂成人国产精品一区| 日本少妇一区二区| 激情五月婷婷综合网| 国产主播一区二区三区| 国产成人精品免费一区二区| 成人爱爱电影网址| 色网站国产精品| 欧美三级午夜理伦三级中视频| 欧美人牲a欧美精品| 欧美大片日本大片免费观看| 久久综合丝袜日本网| 国产精品天美传媒| 亚洲精品久久久蜜桃| 亚洲午夜精品网| 美国十次综合导航| 成人一级黄色片| 欧美在线色视频| 精品剧情v国产在线观看在线| 国产清纯白嫩初高生在线观看91| 国产精品久久夜| 亚洲v精品v日韩v欧美v专区| 国模冰冰炮一区二区| 99久久综合国产精品| 欧美精品vⅰdeose4hd| 久久日韩精品一区二区五区| 国产精品国产自产拍高清av | 欧美性一二三区| 欧美videossexotv100| 国产精品欧美综合在线| 日韩成人午夜精品| 国产成人免费视频网站| 欧美调教femdomvk| 久久夜色精品一区| 亚洲一区二区三区四区在线免费观看| 青青草国产成人99久久| 99久久精品国产导航| 日韩一级大片在线观看| 亚洲天堂av老司机| 狠狠狠色丁香婷婷综合激情| 91麻豆免费观看| 精品毛片乱码1区2区3区| 亚洲另类春色校园小说| 国产一区二区三区免费在线观看| 在线观看视频一区二区欧美日韩| 久久嫩草精品久久久久| 日韩高清不卡一区二区| av成人免费在线| 精品日韩一区二区三区| 亚洲一区二区黄色| 成人激情文学综合网| 精品国产不卡一区二区三区| 香蕉乱码成人久久天堂爱免费| www.久久久久久久久| 亚洲精品一区二区在线观看| 视频一区视频二区在线观看| 91日韩在线专区| 国产亲近乱来精品视频| 久久99国产精品久久99| 欧美日本韩国一区| 亚洲精品国产一区二区三区四区在线| 国产自产视频一区二区三区| 91精品国产福利| 亚洲国产精品麻豆| 91蜜桃免费观看视频| 国产精品免费网站在线观看| 国产一区二区三区在线观看免费视频 | 国产精品免费观看视频| 狠狠色丁香九九婷婷综合五月| 欧美二区三区的天堂| 一区二区三区四区视频精品免费| 高清不卡一区二区在线| 久久久久久麻豆| 蜜桃一区二区三区在线| 91精品在线观看入口| 亚洲午夜影视影院在线观看| 99久久精品国产观看| 综合久久久久久| 色婷婷综合久久久久中文| 中文字幕中文字幕一区二区| 国产xxx精品视频大全| 国产欧美精品日韩区二区麻豆天美| 狠狠色伊人亚洲综合成人| 精品sm捆绑视频| 国产福利一区二区| 国产亚洲精久久久久久| 成人精品视频一区二区三区| 欧美激情一区二区三区全黄| 成人黄色电影在线 | 粉嫩在线一区二区三区视频| 久久久久9999亚洲精品| 成人午夜激情在线| 国产精品第五页| 91免费看`日韩一区二区| 亚洲精品精品亚洲| 欧美日韩国产免费一区二区| 日韩国产高清影视| 欧美成人a视频| 国产精品一卡二卡| 国产精品国产三级国产普通话99| 波多野洁衣一区| 亚洲激情第一区| 67194成人在线观看| 久久99久久99小草精品免视看| 国产亚洲污的网站| 99久久99精品久久久久久| 一二三四区精品视频| 欧美精品v日韩精品v韩国精品v| 美女高潮久久久| 中文av字幕一区| 色国产精品一区在线观看| 午夜日韩在线电影| 精品美女一区二区| 日本韩国视频一区二区| 日本不卡123| 中文字幕欧美日韩一区| 欧美三区免费完整视频在线观看| 久久99久久精品欧美|