/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.core.site; import java.util.List; import java.util.Set; import org.apache.tools.zip.ZipOutputStream; import org.springframework.security.acls.model.Acl; import org.springframework.security.acls.model.Permission; import com.ewcms.core.site.model.Channel; import com.ewcms.core.site.model.Organ; import com.ewcms.core.site.model.Site; import com.ewcms.core.site.model.Template; import com.ewcms.core.site.model.TemplateSource; import com.ewcms.publication.PublishException; import com.ewcms.web.vo.TreeNode; /** * @author wuzhijun */ public interface SiteFacable { public Acl findAclOfChannel(final Channel channel); public void addOrUpdatePermission(Integer id, String name, Integer mask); public void removePermission(Integer id, String name); public void updateInheriting(Integer id, boolean inheriting); public List<Site> getSiteListByOrgans(Integer[] organs, Boolean publicenable); public Set<Permission> getPermissionsById(int id); public List<TreeNode> getOrganSiteTreeList(Integer organId); public List<TreeNode> getOrganSiteTreeList(Integer parentId, Integer organId); public List<TreeNode> getCustomerSiteTreeList(); public List<TreeNode> getCustomerSiteTreeList(Integer parentId); public Integer addSite(Integer parentId, String siteName, Integer organId); public void delSiteBatch(List<Integer> idList); public Integer updSite(Site vo); public void delSite(Integer id); public Integer saveSiteServer(Site vo); public Site getSite(Integer id); public Template getTemplate(Integer id); public Integer addTemplate(Template vo); public Integer updTemplate(Template vo); public void delTemplateBatch(List<Integer> idList); public void delTemplate(Integer id); public List<Template> getTemplateList(); public List<ChannelNode> getChannelChildren(Integer parentId,Boolean publicenable); public Integer addChannel(Integer parentId, String name); public void renameChannel(Integer id, String name); public Integer updChannel(Channel vo); public void delChannel(Integer id); public Channel getChannel(Integer id); public Channel getChannelRoot(); public ChannelNode channelNodeRoot(); /** * 根据父节点编号查询子栏目列表 * * @param Integer parentId 父栏目编号 * @return List 栏目列表 */ public List<Channel> getChannelChildren(Integer parentId); public List<Template> getTemplaeTreeList(Boolean channelEnable); public List<Template> getTemplaeTreeList(Integer parentId, Boolean channelEnable); public List<Template> getTemplaeTreeList(Integer parentId, String channelName); public void updSiteParent(Integer organId, Integer parentId, Integer newParentId); public Integer addOrgan(Integer parentId, String organName); public Integer updOrgan(Organ vo); public void delOrgan(Integer id); public Organ getOrgan(Integer id); public Integer saveOrganInfo(Organ vo); public List<TreeNode> getOrganTreeList(); public List<TreeNode> getOrganTreeList(Integer parentId); public TemplateSource getTemplateSource(Integer id); public Integer addTemplateSource(TemplateSource vo); public Integer updTemplateSource(TemplateSource vo); public void delTemplateSource(Integer id); public List<TemplateSource> getTemplaeSourceTreeList(Boolean channelEnable); public List<TemplateSource> getTemplaeSourceTreeList(Integer parentId, Boolean channelEnable); public Template channelTemplate(String tplName); public Template channelTPLRoot(); public TemplateSource channelTemplateSource(String srcName); public TemplateSource channelSRCRoot(); public void saveAppChild(Integer channelId, List<Integer> templateIds, Boolean cover); public void forceRelease(Integer channelId, Boolean children) throws PublishException; /** * 同一级目录下的专栏下移一位 * * @param channelId 选中栏目编号 * @param parentId 选中栏目的上一级栏目编号 */ public void downChannel(Integer channelId, Integer parentId); /** * 同一级目录下的专栏上移一位 * * @param channelId 选中栏目编号 * @param parentId 选中栏目的上一级栏目编号 */ public void upChannel(Integer channelId, Integer parentId); /** * 移动专栏 * * @param channel * @param parentId */ public void moveToChannel(Integer channel, Integer parentId); /** * 专栏移动到指定的位置 * * @param channelId 选中栏目编号 * @param parentId 选 中栏目的上一级栏目编号 * @param sort 移动到的位置 */ public void moveSortChannel(Integer channelId, Integer parentId, Long sort); /** * 导出栏目中的模板和资源文件 * * @param channelId * @return */ public void exportChannelZip(Integer channelId, ZipOutputStream zos, String channelPath); /** * 导出模板生成ZIP文件 * * @param templateId * @param zos * @param templatePath */ public void exportTemplateZip(Integer templateId, ZipOutputStream zos, String templatePath); /** * 导出模板生成ZIP文件 * * @param templateSourceId * @param zos * @param templateSourcePath */ public void exportTemplateSourceZip(Integer templateSourceId, ZipOutputStream zos, String templateSourcePath); /** * 从历史记录中还原指定的模板记录 * * @param templateId * @param historyId */ public Boolean restoreTemplate(Integer templateId, Long historyId); /** * 重新计算本栏目被其他模板栏目引用 * * @param channelId */ public void connectChannel(Integer channelId); /** * 清除本栏目被其他模板栏目引用 * * @param channelId */ public void disConnectChannel(Integer channelId); /** * 校验模板的正确性 * * @param templateId * @return True:正确,False:错误 */ public Boolean verify(Integer templateId); /** * 查看已关联栏目 * * @param channelId 栏目编号 * @return List */ public List<Integer> findAssociatedChannel(Integer channelId); /** * 删除关联栏目 * * @param channelId 栏目编号 * @param appChannelId 应用关联栏目 */ public void delAppChannel(Integer channelId, Integer appChannelId); }