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

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

?? cmschannelact.java

?? JEECMS是JavaEE版網站管理系統(Java Enterprise Edition Content Manage System)的簡稱。 基于java技術開發
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package com.jeecms.cms.action;

import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;

import com.jeecms.cms.entity.ChnlModel;
import com.jeecms.cms.entity.ChnlModelItem;
import com.jeecms.cms.entity.CmsAdmin;
import com.jeecms.cms.entity.CmsChannel;
import com.jeecms.cms.entity.CmsMemberGroup;
import com.jeecms.cms.manager.ChnlModelMng;
import com.jeecms.cms.manager.CmsChannelMng;
import com.jeecms.cms.manager.CmsMemberGroupMng;
import com.jeecms.core.util.UploadRule;
import com.ponyjava.common.util.SelectTreeUtils;

@SuppressWarnings("serial")
public abstract class CmsChannelAct extends com.jeecms.cms.CmsSysAction {
	private static final Logger log = LoggerFactory
			.getLogger(CmsChannelAct.class);

	public String left() {
		// 根
		treeRoot = new CmsChannel();
		treeRoot.setName("根目錄");
		treeRoot.setTreeLeaf(false);
		ChnlModel model = new ChnlModel();
		model.setShortName("");
		treeRoot.setModel(model);
		// 內容。取所有列表,找出父菜單。
		Set<CmsChannel> chnlSet = new LinkedHashSet<CmsChannel>();
		CmsChannel chnl = cmsChannelMng.getRoot(getWebId(), getSysType());
		if (chnl != null) {
			chnlSet.add(chnl);
		}
		treeRoot.setTreeChild(chnlSet);
		return LEFT;
	}

	@SuppressWarnings("unchecked")
	public String list() {
		if (pid == null) {
			// 列出根欄目
			list = new ArrayList<CmsChannel>();
			CmsChannel c = cmsChannelMng.getRoot(getWebId(), getSysType());
			if (c != null) {
				list.add(c);
			}
			// 有首頁則不能再添加首頁
			hasChild = list.size() > 0 ? false : true;
		} else {
			// 列出父欄目的子欄目
			CmsChannel c = cmsChannelMng.findById(pid);
			// 欄目不控制數據權限,只控制操作權限
			this.list = new ArrayList<CmsChannel>(c.getChild());
			hasChild = c.getHasChild();
		}
		// 同一系列網站共用模型
		models = chnlModelMng.getModels(getRootWebId(), getSysType(), false);
		return LIST;
	}

	public String add() {
		model = chnlModelMng.findById(modelId);
		itemMap = model.getDiplayItemMap(ChnlModel.CHANNEL_ITEM);
		if (pid != null) {
			parent = cmsChannelMng.findById(pid);
		}
		handleParentRight(parent);
		String root = contextPvd.getAppRoot();
		tplChannlList = model.tplChannlList(getSysType(), root);
		tplContentList = model.tplContentList(getSysType(), root);
		// 設置上傳規則
		addUploadRule();
		return ADD;
	}

	@SuppressWarnings("unchecked")
	public String edit() {
		bean = cmsChannelMng.findById(id);
		model = bean.getModel();
		itemMap = model.getDiplayItemMap(ChnlModel.CHANNEL_ITEM);

		hasChild = model.getHasChild();
		if (hasChild) {
			models = chnlModelMng
					.getModels(getRootWebId(), getSysType(), false);
		}

		handleParentRight(bean.getParent());

		String root = contextPvd.getAppRoot();
		tplChannlList = model.tplChannlList(getSysType(), root);
		String indexTpl = bean.getTplIndex();
		// 當前模板不在默認方案中。
		if (!StringUtils.isBlank(indexTpl) && !tplChannlList.contains(indexTpl)) {
			tplChannlList.add(indexTpl);
		}
		tplContentList = model.tplContentList(getSysType(), root);
		String contentTpl = bean.getTplContent();
		// 當前模板不在默認方案中。
		if (!StringUtils.isBlank(contentTpl)
				&& !tplContentList.contains(contentTpl)) {
			tplContentList.add(contentTpl);
		}
		chnlList = cmsChannelMng.getChnlsAndExclude(getWebId(), getSysType(),
				bean.getId());
		chnlList = SelectTreeUtils.handleTreeChild(chnlList);
		chnlList = SelectTreeUtils.webTree(chnlList);
		// 設置上傳規則
		addUploadRule();
		return EDIT;
	}

	public String save() {
		// 拷貝父欄目數據權限
		bean.setSysType(getSysType());
		cmsChannelMng.saveChannel(bean, getCmsAdmin(), filterAdmins(admins),
				uploadRule);
		// 清除上傳規則
		removeUploadRule();
		log.info("添加 欄目 成功:{}", bean.getName());
		return list();
	}

	public String update() {
		bean = cmsChannelMng.updateChannel(bean, getCmsAdmin(),
				filterAdmins(admins), uploadRule);
		// 清除上傳規則
		removeUploadRule();
		log.info("修改 欄目 成功:{}", bean.getName());
		return list();
	}

	public String delete() {
		try {
			if (id != null) {
				bean = cmsChannelMng.deleteById(id);
				log.info("刪除 欄目 成功:{}", bean.getName());
			} else {
				for (CmsChannel b : cmsChannelMng.deleteById(ids)) {
					log.info("刪除 欄目 成功:{}", b.getName());
				}
			}
		} catch (DataIntegrityViolationException e) {
			addActionError("記錄已被引用。請先刪除文檔,再刪除欄目");
			return SHOW_ERROR;
		}
		return list();
	}

	public String priorityUpdate() {
		for (int i = 0; i < wids.length; i++) {
			CmsChannel f = cmsChannelMng.findById(wids[i]);
			f.setPriority(prioritys[i]);
			cmsChannelMng.update(f);
		}
		return list();
	}

	public String checkPath() {
		if (bean == null) {
			return renderText("false");
		}
		String path = bean.getPath();
		if (StringUtils.isBlank(path)) {
			return renderText("false");
		}
		if (path.equals(origPath)) {
			return renderText("true");
		}
		if (cmsChannelMng.getByPath(getWebId(), path) == null) {
			return renderText("true");
		}
		return renderText("false");
	}

	public boolean validateList() {
		if (hasErrors()) {
			return true;
		}
		if (pid != null) {
			if (vldParendRight(pid, null)) {
				return true;
			}
		}
		return false;
	}

	public boolean validateAdd() {
		if (hasErrors()) {
			return true;
		}
		if (pid != null) {
			// 檢查父節點是否合法
			if (vldParendRight(pid, null)) {
				return true;
			}
		} else {
			// 檢查是否已經有根節點
			if (vldMultiRootChnl()) {
				return true;
			}
		}
		vldModel(modelId, null);
		return false;
	}

	public boolean validateSave() {
		if (hasErrors()) {
			return true;
		}
		vldBean(bean);
		// 驗證上傳規則
		if (vldUploadRule()) {
			return true;
		}
		bean.setWebsite(getWeb());
		if (pid != null) {
			// 檢查父節點是否合法
			if (vldParendRight(pid, bean)) {
				return true;
			}
		} else {
			// 檢查是否已經有根節點
			if (vldMultiRootChnl()) {
				return true;
			}
			bean.setParent(null);
		}
		if (vldModel(bean.getModel().getId(), bean)) {
			return true;
		}
		if (vldGroupContribute(bean.getGroupContribute(), bean, true)) {
			return true;
		}
		if (vldGroupVisit(bean.getGroupVisit(), bean, true)) {
			return true;
		}
		return false;
	}

	public boolean validateEdit() {
		if (hasErrors()) {
			return true;
		}
		if (vldExist(id)) {
			return true;
		}
		if (vldWebsite(id, null)) {
			return true;
		}
		return false;
	}

	public boolean validateUpdate() {
		if (hasErrors()) {
			return true;
		}
		vldBean(bean);
		// 驗證上傳規則
		if (vldUploadRule()) {
			return true;
		}
		if (vldExist(bean.getId())) {
			return true;
		}
		if (vldWebsite(bean.getId(), bean)) {
			return true;
		}
		if (vldModel(bean.getModel().getId(), null)) {
			return true;
		}
		if (vldGroupContribute(bean.getGroupContribute(), bean, false)) {
			return true;
		}
		if (vldGroupVisit(bean.getGroupVisit(), bean, false)) {
			return true;
		}
		// 檢查父欄目
		CmsChannel parent = bean.getParent();
		// 修改父欄目
		if (parent != null) {
			Long pid = parent.getId();
			if (pid == null) {
				addActionError("不能設置成根欄目");
				return true;
			}
			if (pid.equals(bean.getId())) {
				addActionError("不能把自己設置成自己的父欄目");
				return true;
			}
			// 檢查是否為自己的子欄目
			if (cmsChannelMng.isChild(bean.getId(), pid)) {
				addActionError("不能把子欄目設置成父欄目");
				return true;
			}
			// 檢查父節點是否合法
			if (vldParendRight(pid, null)) {
				return true;
			}
		}
		return false;
	}

	public boolean validateDelete() {
		if (hasErrors()) {
			return true;
		}
		CmsChannel po;
		if (id == null && (ids == null || ids.length <= 0)) {
			addActionError("ID不能為空");
			return true;
		} else {
			if (id != null) {
				ids = new Long[] { id };
			}
			for (Long id : ids) {
				po = cmsChannelMng.findById(id);
				if (!po.getWebsite().getId().equals(getWebId())) {
					addActionError("不能刪除其他站點文章");
					return true;
				}
				Set<CmsChannel> child = po.getChild();
				if (child != null && child.size() > 0) {
					addActionError("請先刪除子節點");
					return true;
				}
			}
		}
		return false;
	}

	private boolean vldMultiRootChnl() {
		CmsChannel c = cmsChannelMng.getRoot(getWebId(), getSysType());
		if (c != null) {
			addActionError("已經存在根欄目,父欄目不能為空");
			return true;
		}
		return false;
	}

	private boolean vldParendRight(Long pid, CmsChannel bean) {
		CmsChannel c = cmsChannelMng.findById(pid);
		if (c == null) {
			addActionError("父欄目不存在:" + pid);
			return true;
		}
		if (!getWebId().equals(c.getWebsite().getId())) {
			addActionError("不能訪問其他站點的欄目:" + pid);
			return true;
		}
		if (!getSysType().equals(c.getSysType())) {
			addActionError("不是本系統的欄目:" + pid);
			return true;
		}
		if (!c.getHasChild()) {
			addActionError("該欄目不能擁有子欄目:" + pid);
			return true;
		}
		if (bean != null) {
			bean.setParent(c);
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合婷婷国产精品久久蜜臀 | 亚洲精品成人在线| 不卡的av在线播放| 一区二区三区日韩欧美精品| 777午夜精品视频在线播放| 蜜桃视频免费观看一区| 精品国偷自产国产一区| 国产成人一区在线| 亚洲免费毛片网站| 欧美一区二区啪啪| 国产91精品欧美| 亚洲自拍偷拍综合| 精品国产3级a| 欧美自拍偷拍一区| 狠狠色丁香婷婷综合| 亚洲女人小视频在线观看| 欧美精品v日韩精品v韩国精品v| 久久9热精品视频| 亚洲综合色视频| 久久久国产精华| 欧美日韩一区在线观看| 国产一区二区三区在线观看精品 | 欧美不卡一二三| 成人av电影在线观看| 日本欧美肥老太交大片| 综合色中文字幕| 久久久久久综合| 欧美日韩国产综合久久| 国产一区二区伦理片| 婷婷中文字幕综合| 亚洲欧美在线视频观看| 日韩片之四级片| 91精品1区2区| 丰满白嫩尤物一区二区| 日韩av午夜在线观看| 亚洲欧洲精品一区二区三区不卡 | 国产精品久久久久久亚洲毛片| 欧美日本在线视频| 91一区一区三区| 国产精品自在在线| 青青草一区二区三区| 伊人开心综合网| 国产精品久久精品日日| 欧美精品一区二区三区高清aⅴ| 欧美三区免费完整视频在线观看| 不卡的电影网站| 国产suv精品一区二区883| 久久99精品国产麻豆婷婷洗澡| 亚洲图片自拍偷拍| 亚洲精品一二三四区| 中文一区二区在线观看| 欧美tickle裸体挠脚心vk| 91精品国产91久久综合桃花| 欧美网站一区二区| 99精品在线免费| 暴力调教一区二区三区| 懂色av噜噜一区二区三区av| 国产真实乱对白精彩久久| 蜜桃视频免费观看一区| 日本v片在线高清不卡在线观看| 性做久久久久久久久| 亚洲一二三级电影| 亚洲午夜久久久| 亚洲午夜久久久久久久久久久| 一区二区成人在线| 一区二区免费在线| 亚洲在线观看免费视频| 夜夜嗨av一区二区三区网页 | 国产精品一区二区三区乱码| 精品亚洲porn| 国产精品一区二区视频| 国产激情一区二区三区| 福利视频网站一区二区三区| 懂色av一区二区夜夜嗨| 972aa.com艺术欧美| 色一情一伦一子一伦一区| 一本一本大道香蕉久在线精品 | 国产自产高清不卡| 国产在线播放一区二区三区| 国产精品123区| 成人黄色电影在线| 色婷婷激情综合| 欧美日本在线观看| 日韩女优制服丝袜电影| 2023国产精华国产精品| 国产性色一区二区| 亚洲色图另类专区| 亚洲成人av电影| 日韩电影一区二区三区四区| 日韩av一区二区三区| 精品一区二区三区视频在线观看| 国产寡妇亲子伦一区二区| 成人99免费视频| 在线观看91精品国产入口| 欧美日韩视频在线一区二区| 日韩欧美成人激情| 中文字幕日本不卡| 亚洲一区二区成人在线观看| 午夜成人免费电影| 精品一区免费av| 成人国产一区二区三区精品| 在线观看日产精品| 欧美一级日韩不卡播放免费| 日韩精品专区在线影院观看| 精品国产亚洲在线| 亚洲天堂网中文字| 日韩av网站免费在线| 国产精品 日产精品 欧美精品| 91色在线porny| 欧美一级生活片| 国产亚洲欧美日韩俺去了| 亚洲欧美日韩一区二区 | 国产风韵犹存在线视精品| 成人午夜激情影院| 欧美三级一区二区| 国产日韩欧美不卡| 亚洲高清不卡在线观看| 国产精品一区三区| 欧美另类一区二区三区| 国产日韩欧美综合在线| 午夜影院久久久| 国产精品2024| 欧美主播一区二区三区| 精品美女一区二区三区| 一区二区三区欧美久久| 国产另类ts人妖一区二区| 精品1区2区3区| 久久婷婷国产综合精品青草| 亚洲电影在线免费观看| 国产成人av自拍| 欧美三级日韩三级国产三级| 国产亚洲欧美日韩在线一区| 午夜日韩在线电影| 99精品黄色片免费大全| 精品成人在线观看| 五月综合激情日本mⅴ| www.日韩在线| 精品国产伦一区二区三区观看体验| 一级精品视频在线观看宜春院| 成人一区二区三区视频在线观看| 日韩欧美国产综合| 亚洲va天堂va国产va久| 91日韩精品一区| 国产女同性恋一区二区| 久久91精品国产91久久小草| 欧美日韩黄视频| 亚洲在线观看免费| 91欧美一区二区| 欧美高清在线一区二区| 精一区二区三区| 日韩一区二区中文字幕| 亚洲不卡一区二区三区| 在线视频亚洲一区| 亚洲精品国产一区二区三区四区在线| 国产成人一区二区精品非洲| 精品福利一二区| 美脚の诱脚舐め脚责91| 欧美一区二区性放荡片| 日韩精品电影在线观看| 欧美日韩专区在线| 亚洲国产一区二区三区 | 国产欧美一区二区精品忘忧草 | 国产成人精品一区二区三区四区| 欧美成人a∨高清免费观看| 免费观看成人av| 欧美一区二区三级| 蜜臀久久久99精品久久久久久| 欧美福利一区二区| 亚洲成人资源在线| 91超碰这里只有精品国产| 香蕉加勒比综合久久| 宅男噜噜噜66一区二区66| 日韩中文字幕麻豆| 欧美久久一二区| 午夜精品一区二区三区三上悠亚| 欧美日韩色一区| 日韩中文字幕不卡| 欧美成人免费网站| 国产一区亚洲一区| 国产精品久久久久一区二区三区 | 色94色欧美sute亚洲13| 亚洲综合图片区| 欧美精品在线视频| 日本女人一区二区三区| 精品久久久久av影院| 国产精品一区二区无线| 国产精品视频第一区| 一本色道久久综合精品竹菊| 午夜精彩视频在线观看不卡| 日韩视频免费观看高清在线视频| 久久99精品国产麻豆婷婷洗澡| 国产亲近乱来精品视频 | 国产精品免费视频网站| 一道本成人在线| 亚洲va国产天堂va久久en| 欧美一区二区大片| 福利视频网站一区二区三区| 亚洲黄网站在线观看| 日韩欧美国产麻豆| 成人app网站|