Beispiel #1
0
  @Transactional(propagation = Propagation.REQUIRED)
  public void delete(int id) {
    MultiSite childsite = this.get(id);
    List<Theme> list = themeManager.list(id); // 读取此站点的主题
    String contextPath = EopContext.getContext().getContextPath();
    for (Theme theme : list) {
      /** 删除模板静态资源文件* */
      String targetPath =
          EopSetting.IMG_SERVER_PATH + contextPath + "/themes/" + theme.getPath() + "_" + id;
      FileUtil.removeFile(new File(targetPath));

      /** 删除模板文件* */
      targetPath = EopSetting.EOP_PATH + contextPath + "/themes/" + theme.getPath() + "_" + id;
      FileUtil.removeFile(new File(targetPath));
    }

    /** 删除域名 */
    this.siteManager.deleteDomain(childsite.getDomain());

    /** 删除主题* */
    this.baseDaoSupport.execute("delete from theme where siteid = ?", id);

    /** 删除站点 */
    this.baseDaoSupport.execute("delete from site where siteid = ?", id);
  }
 /*     */ public void changeTheme(Integer themeid) /*     */ {
   /* 464 */ EopSite site = EopContext.getContext().getCurrentSite();
   /* 465 */ Theme theme = this.themeManager.getTheme(themeid);
   /* 466 */ String sql = "update eop_site set themeid=?,themepath=? where userid=? and id=?";
   /* 467 */ this.daoSupport.execute(
       sql, new Object[] {themeid, theme.getPath(), site.getUserid(), site.getId()});
   /*     */
   /* 469 */ site.setThemeid(themeid);
   /* 470 */ site.setThemepath(theme.getPath());
   /* 471 */ ResourceStateManager.setDisplayState(1);
   /*     */ }
 /*     */ private void fillThemesElement(Element parentEl) /*     */ {
   /* 206 */ List themeList = this.themeManager.list();
   /* 207 */ EopSite site = EopContext.getContext().getCurrentSite();
   /* 208 */ for (Theme theme : themeList) {
     /* 209 */ Element themeEl = new Element("theme");
     /* 210 */ themeEl.setAttribute("id", theme.getPath());
     /* 211 */ themeEl.setAttribute("name", theme.getThemename());
     /* 212 */ if (site.getThemeid().intValue() == theme.getId().intValue()) {
       /* 213 */ themeEl.setAttribute("default", "yes");
       /*     */ }
     /* 215 */ parentEl.addContent(themeEl);
     /*     */ }
   /*     */ }
Beispiel #4
0
  @Transactional(propagation = Propagation.REQUIRED)
  public void add(MultiSite site) {

    /** 读取父* */
    MultiSite parent = this.get(site.getParentid());

    /** 读取本级最大code* */
    String sql = "select max(code) code from site where parentid=? ";
    int maxcode = this.baseDaoSupport.queryForInt(sql, site.getParentid()); // cat code
    maxcode = maxcode == 0 ? maxcode = parent.getCode() : maxcode;
    int level = parent.getLevel() + 1; // 级别
    site.setCode(this.createCode(maxcode, level));
    site.setLevel(level);

    this.baseDaoSupport.insert("site", site);
    int siteid = this.baseDaoSupport.getLastId("site");

    Integer userid = EopContext.getContext().getCurrentSite().getUserid();
    EopSiteDomain eopSiteDomain = new EopSiteDomain();
    eopSiteDomain.setUserid(userid);
    eopSiteDomain.setDomain(site.getDomain());
    eopSiteDomain.setSiteid(EopContext.getContext().getCurrentSite().getId());
    siteManager.addDomain(eopSiteDomain);
    try {
      /**
       * 此处逻辑:先取出所指定的theme信息,取得其对应的文件目录,<br>
       * 然后修改theme.path并插入theme,取得插入的themeid并写回到site
       */
      site.setSiteid(siteid);
      Theme theme = this.themeManager.getTheme(site.getThemeid());
      String contextPath = EopContext.getContext().getContextPath();

      // 复制资源到静态资源服务器
      String basePath = EopSetting.IMG_SERVER_PATH + contextPath + "/themes/" + theme.getPath();
      String targetPath =
          EopSetting.IMG_SERVER_PATH + contextPath + "/themes/" + theme.getPath() + "_" + siteid;
      FileUtil.copyFolder(basePath, targetPath);
      // 复制theme
      basePath = EopSetting.EOP_PATH + contextPath + "/themes/" + theme.getPath();
      targetPath = EopSetting.EOP_PATH + contextPath + "/themes/" + theme.getPath() + "_" + siteid;
      FileUtil.copyFolder(basePath, targetPath);

      theme.setPath(theme.getPath() + "_" + siteid);
      theme.setSiteid(siteid);
      theme.setId(null);
      this.baseDaoSupport.insert("theme", theme);
      int themeid = this.baseDaoSupport.getLastId("theme");
      site.setThemeid(themeid);
      this.update(site);
    } catch (Exception e) {
      e.printStackTrace();
      throw new RuntimeException("创建主题出错");
    }
  }