⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createbulletin_setting.java

📁 一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。
💻 JAVA
字号:
package jp.co.sjts.gsession.bulletin;

import java.util.Iterator;
import java.util.Hashtable;
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jp.co.sjts.gsession.tools.*;

/**
 * <p>宖帵斅屄恖愝掕夋柺嶌惉
 *
 * @author  Masakatu O    &lt;ookubo@sjts.co.jp&gt;
 * @author  a.matsubara   &lt;aki@sts.co.jp&gt;
 */
public class Createbulletin_setting extends CreatePage{

	String[] s = new String[5];

	private Hashtable hsInit;
	private Hashtable hsPara;
	private BLUserConfFile uconf;
	private String mapURL;
    private String helpURL;
	private int page;
	private int uid;
	private IUserManager UM;
    private String dataDir;

	private final String title = "屄恖愝掕";
	private static final String bgcolor = "#ffffff";
	private static final String text = "#000000";
	private static final String link = "#0000ff";
	private static final String alink = "#ff0000";
	private static final String vlink = "#0000ff";
	
    private static final int ID   = 0;
    private static final int NAME = 1;
    
    private int display;  // 儊僀儞侾儁乕僕昞帵峴悢
    private int dispcnt;  // 宖帵斅侾儁乕僕昞帵峴悢
    private int[] groups; // 儊僀儞昞帵僌儖乕僾
    
    private String[] addGids = null;
    private String[] delGids = null;

	/**
	 * <p>僷儔儊乕僞庴偗搉偟
	 *
	 * @param hsInit    弶婜壔僷儔儊乕僞
	 * @param hsPara    儕僋僄僗僩僷儔儊乕僞
	 * @param uconf     儐乕僓愝掕僼傽僀儖僆僽僕僃僋僩
	 * @param page      儁乕僕
	 * @param uid       儐乕僓ID
	 * @param UM        儐乕僓儅僱乕僕儍乕
	 * @param dataDir   僨乕僞僨傿儗僋僩儕
	 */
	public Createbulletin_setting(Hashtable hsInit,Hashtable hsPara,BLUserConfFile uconf,int page,int uid,IUserManager UM,String dataDir){
		this.hsInit = hsInit;
		this.mapURL = (String)hsInit.get(BLCmd.BL_MAP);
        this.helpURL = (String)hsInit.get("help");
		this.hsPara = hsPara;
		this.uconf = uconf;
		this.page = page;
        this.uid = uid;
        this.UM = UM;
        this.dataDir = dataDir;
	}

    /**
     * <p>HTML弌椡
     *
     * @param	req			儕僋僄僗僩
     * @param	res			儗僗億儞僗
     * @return				張棟偺惉斲
     */
	protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException {
		s[0] = new String("10審");
		s[1] = new String("20審");
		s[2] = new String("30審");
		s[3] = new String("40審");
		s[4] = new String("50審");
		String url = GSTool.removeParaFormURI(req.getRequestURI());
		HttpSession session = req.getSession(false);
        BLUserTempFile tmpFile = null;

		// 愝掕夋柺弶婜婲摦帪
        if( (hsPara.get("parsonal.x"))!=null ){
            tmpFile = new BLUserTempFile(dataDir, Integer.toString(uid));
            tmpFile.delete();
            
            display = uconf.GetDisplay();
            dispcnt = uconf.GetDispcnt();
            groups = uconf.GetGroupArray();
            for( int i=0; i<groups.length; i++)
            	tmpFile.AddGroup(groups[i]);
            tmpFile.Save();
        }
        
        // 昞帵僌儖乕僾捛壛張棟
        else if((hsPara.get(BLCmd.PA_LTORX))!=null){
        	
            // FORM偺僷儔儊乕僞傪庢摼
            setPara();
            
            tmpFile = tempLoad(Integer.toString(uid));
            
            store(tmpFile);
            
            // 捛壛
            if(addGids!=null) {
            	for(int i=0; i<addGids.length; i++)
                	if(Integer.parseInt(addGids[i])>0)
                    	tmpFile.AddGroup(Integer.parseInt(addGids[i]));
            }
            tmpFile.Save();
        }
        
        // 昞帵僌儖乕僾嶍彍張棟
        else if((hsPara.get(BLCmd.PA_RTOLX))!=null){
        	
            // FORM偺僷儔儊乕僞傪庢摼
            setPara();
            
            tmpFile = tempLoad(Integer.toString(uid));
            
            store(tmpFile);
            
            // 嶍彍
            if(delGids!=null) {
            	for(int i=0; i<delGids.length; i++)
                	tmpFile.DelGroup(Integer.parseInt(delGids[i]));
            }
            tmpFile.Save();
        }

        setHelpUrl(helpURL + GSHelpPage.BL200000);
		setCharset("iso-2022-jp");
		setTitle(title);

		setBodyColor(bgcolor,text,link,vlink,alink);

		addBodyString("<CENTER>");
		addBodyString("<FORM METHOD=\"post\" ACTION=\"" + url + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + BLCmd.PA_CMD + "\" VALUE=\"" + BLCmd.BL_PERSONAL + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + BLCmd.PA_GID + "\" VALUE=\"" + (String)((String[])hsPara.get(BLCmd.PA_GID))[0] + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + BLCmd.PA_PAG + "\" VALUE=\"" + Integer.toString(page) + "\">");

		addBodyString("<TABLE WIDTH=\"500\" BORDER=\"3\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("<!--僞僀僩儖-->");
		addBodyString("<TR><TD>");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("  <TR BGCOLOR=\"#000080\">");
		addBodyString("  <TD><font color=\"#ffffff\"><B>屄恖愝掕</B></font></TD>");
		addBodyString("  <TD ALIGN=\"right\"><INPUT TYPE=\"image\" NAME=\"return\" SRC=\"" + mapURL + BLCmd.B_G_07 + "\" ALT=\"宖帵斅堦棗栠傞\" BORDER=\"0\" WIDTH=\"173\" HEIGHT=\"28\"></TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD></TR>");

		addBodyString("<!--杮懱-->");
		addBodyString("<TR><TD BGCOLOR=\"#ffffd5\">");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
        
        /* 2002/04/08 add by a.matsubara -------------------------------------------------------- */
        addBodyString("  <TR><TD>");
        addBodyString("    <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADIING=\"3\">");
        addBodyString("    <TR><TD COLSPAN=\"3\"><FONT COLOR=\"#ff8080\">儊僀儞儁乕僕乮僩僢僾儁乕僕乯偵昞帵偡傞宖帵斅傪慖戰偱偒傑偡丅</FONT></TD></TR>");
        addBodyString("    <TR><TD COLSPAN=\"3\"><FONT COLOR=\"#ff8080\">昞帵偡傞宖帵斅庬暿傪愝掕偟偰偔偩偝偄丅</FONT></TD></TR>");
        addBodyString("    <TR><TD COLSPAN=\"3\"><FONT COLOR=\"#ff8080\">側偍丄嫟捠宖帵斅偼昁偢嵟弶偵慖戰偝傟偰偄傑偡丅</FONT></TD></TR>");
        addBodyString("    <TR>");
        addBodyString("    <TD WIDTH=\"40%\" ALIGN=\"center\" BGCOLOR=\"#454545\"><FONT COLOR=\"#FFFFFF\"><B>慖戰壜擻僌儖乕僾</B></FONT></TD>");
        addBodyString("    <TD WIDTH=\"10%\"></TD>");
        addBodyString("    <TD WIDTH=\"40%\" ALIGN=\"center\" BGCOLOR=\"#454545\"><FONT COLOR=\"#FFFFFF\"><B>昞帵僌儖乕僾</B></FONT></TD>");
        addBodyString("    </TR>");
        addBodyString("    <TR>");
        
// 慖戰嵪丒枹慖戰僌儖乕僾暘偗
        int[] ga = UM.getGidArray(uid);         // 儐乕僓乕偺強懏偡傞慡僌儖乕僾
        List ridx = new ArrayList(ga.length-1); // 慖戰嵪僌儖乕僾偺僀儞僨僢僋僗
        List lidx = new ArrayList(ga.length-1); // 枹慖戰僌儖乕僾偺僀儞僨僢僋僗
        for(int i=0; i<ga.length; i++ ){
        	if(ga[i]!=0){
            	if(tmpFile.containsGroup(ga[i]))
                	ridx.add(new Integer(i));
                else
                    lidx.add(new Integer(i));
            }
        }
        
        Iterator it;
        Object[] usrGrp;
        Integer integer;
        int idx;
        
// 慖戰壜擻僌儖乕僾
		// 僜乕僩梡僥乕僽儖嶌惉
        it = lidx.iterator();
        usrGrp = new Object[lidx.size()];
        for(int i=0; it.hasNext(); i++) {
        	integer = (Integer)it.next();
            idx = integer.intValue();
            Vector vec = new Vector(2);
            vec.add(Integer.toString(ga[idx]));
            vec.add(UM.getGName(ga[idx]));
            usrGrp[i] = vec;
        }
        
        // 僜乕僩
        GSSort usrGrpSort = new GSSort(true,NAME);
        Arrays.sort(usrGrp,usrGrpSort);
        
        // 昞帵
        addBodyString("    <TD ALGIN=\"left\">");
        addBodyString("    <SELECT NAME=\"" + BLCmd.PA_LEFTGRP + "\" SIZE=\"10\" MULTIPLE>");
        
        for( int i=0; i<usrGrp.length; i++ ){
        	Vector vec = (Vector)usrGrp[i];
            addBodyString("    <OPTION VALUE=\"" + ((String)vec.get(ID)) + "\">" + ((String)vec.get(NAME)) );
        }

        addBodyString("    <OPTION VALUE=\"-1\">丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂");
        addBodyString("    </SELECT>");
        addBodyString("    </TD>");
        
// 堏摦儃僞儞
        addBodyString("    <TD BGCOLOR=\"ffffcf\">");
        addBodyString("      <TABLE HEIGHT=\"100%\" WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
        // 捛壛
        addBodyString("      <TR><TD ALIGN=\"center\">");
        addBodyString("      <INPUT TYPE=\"image\" NAME=\"" + BLCmd.PA_LTOR + "\" SRC=\"" + mapURL + GSFilename.GS_ARROW2R 
        						+ "\" ALT=\"捛壛\" HEIGHT=\"16\" WIDTH=\"16\" BORDER=\"0\">");
        addBodyString("      </TR></TD>");
        // 嶍彍
        addBodyString("      <TR><TD ALIGN=\"center\">");
        addBodyString("      <INPUT TYPE=\"image\" NAME=\"" + BLCmd.PA_RTOL + "\" SRC=\"" + mapURL + GSFilename.GS_ARROW2L 
        						+ "\" ALT=\"嶍彍\" HEIGHT=\"16\" WIDTH=\"16\" BORDER=\"0\">");
        addBodyString("      </TR></TD>");
        addBodyString("      </TABLE>");
        addBodyString("    </TD>");
        
// 昞帵僌儖乕僾
		// 僜乕僩梡僥乕僽儖嶌惉
        it = ridx.iterator();
        usrGrp = new Object[ridx.size()];
        for(int i=0; it.hasNext(); i++) {
        	integer = (Integer)it.next();
            idx = integer.intValue();
            Vector vec = new Vector(2);
            vec.add(Integer.toString(ga[idx]));
            vec.add(UM.getGName(ga[idx]));
            usrGrp[i] = vec;
        }
        
        // 僜乕僩
        GSSort dspGrpSort = new GSSort(true,NAME);
        Arrays.sort(usrGrp,dspGrpSort);
        
        // 昞帵
        addBodyString("    <TD ALIGN=\"left\">");
        addBodyString("    <SELECT NAME=\"" + BLCmd.PA_RIGHTGRP + "\" SIZE=\"10\" MULTIPLE>");
        
        for(int i=0; i<usrGrp.length; i++) {
        	Vector vec = (Vector)usrGrp[i];
            addBodyString("    <OPTION VALUE=\"" + ((String)vec.get(ID)) + "\">" + ((String)vec.get(NAME)) );
        }
        
        addBodyString("    <OPTION VALUE=\"-1\">丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂");
        addBodyString("    </SELECT>");
        addBodyString("    </TD>");
        
        addBodyString("    </TR>");
        addBodyString("    </TABLE>");
        /* -------------------------------------------------------------------------------------- */
        
		addBodyString("  <TR><TD>");
		addBodyString("    <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("    <TR><TD><FONT COLOR=\"#ff8080\">儊僀儞儁乕僕乮僩僢僾儁乕僕乯傊嵟怴忣曬傪昞帵偡傞偙偲偑弌棃傑偡丅</FONT></TD></TR>");
		addBodyString("    <TR><TD><FONT COLOR=\"#ff8080\">侾暸拞偺儊僢僙乕僕審悢傪愝掕偟偰偔偩偝偄丅</FONT></TD></TR>");
		addBodyString("    <TR><TD ALIGN=\"center\"><B>侾暸偵</B>");
		addBodyString("    <SELECT NAME=\"" + BLCmd.PA_DSPLAY + "\">");
		for (int i = 0 ; i < 5 ; i++ ) {
			if ( i == display ) { //昞帵懳徾
				addBodyString("    <OPTION SELECTED VALUE=\"" + Integer.toString(i) + "\">" + s[i] );
			}else{
				addBodyString("    <OPTION VALUE=\"" + Integer.toString(i) + "\">" + s[i] );
			}
		}
		addBodyString("    </SELECT><B>傑偱偺忣曬傪昞帵偡傞丅</B>");
		addBodyString("    </TD></TR>");
		addBodyString("    </TABLE>");
		addBodyString("  </TD></TR>");
		addBodyString("");
		addBodyString("  <TR><TD>");
		addBodyString("    <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("    <TR><TD><FONT COLOR=\"#ff8080\">宖帵斅堦棗偱昞帵偡傞侾暸拞偺儊僢僙乕僕審悢傪愝掕偟偰偔偩偝偄丅</FONT></TD></TR>");
		addBodyString("    <TR><TD ALIGN=\"center\"><B>侾暸偵</B>");
		addBodyString("    <SELECT NAME=\"" + BLCmd.PA_DSPCNT + "\">");
		for (int i = 0 ; i < 5 ; i++ ) {
			if ( i == dispcnt ) { //昞帵懳徾
				addBodyString("    <OPTION SELECTED VALUE=\"" + Integer.toString(i) + "\">" + s[i] );
			}else{
				addBodyString("    <OPTION VALUE=\"" + Integer.toString(i) + "\">" + s[i] );
			}
		}
		addBodyString("    </SELECT><B>傑偱偺忣曬傪昞帵偡傞丅</B>");
		addBodyString("    </TD></TR>");
		addBodyString("    </TABLE>");
		addBodyString("  </TD></TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD></TR>");
		addBodyString("<!--僼僢僞乕-->");
		addBodyString("<TR><TD>");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("  <TR><TD ALIGN=\"right\" BGCOLOR=\"#000080\"><INPUT TYPE=\"image\" NAME=\"set\" SRC=\"" + mapURL + BLCmd.B_G_11 + "\" ALT=\"愝丂掕\" BORDER=\"0\" WIDTH=\"93\" HEIGHT=\"28\"></TD></TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD></TR>");
		addBodyString("</TABLE>");
		addBodyString("</FORM>");
		addBodyString("</CENTER>");

		return true;
	}
    
    // 僥儞億儔儕僼傽僀儖撉傒崬傒
    protected BLUserTempFile tempLoad(String uid) throws GSException {
    	BLUserTempFile tmpFile = new BLUserTempFile(dataDir,uid);
        if(tmpFile.exists())
        	tmpFile.Load();
        
        return tmpFile;
    }
    
    // FORM偐傜憲傜傟偨僨乕僞傪撉庢傝擖椡僠僃僢僋偡傞
    protected void setPara() throws GSException {
    	String[] bufs;
        
        // 儊僀儞侾儁乕僕昞帵峴悢偺庢摼
        bufs = (String[])hsPara.get(BLCmd.PA_DSPLAY);
        if(bufs!=null)
        	display = Integer.parseInt(bufs[0]);
        
        // 宖帵斅侾儁乕僕昞帵峴悢偺庢摼
        bufs = (String[])hsPara.get(BLCmd.PA_DSPCNT);
        if(bufs!=null)
        	dispcnt = Integer.parseInt(bufs[0]);
        
        // 捛壛僌儖乕僾偺庢摼
        bufs = (String[])hsPara.get(BLCmd.PA_LEFTGRP);
        if(bufs!=null)
        	addGids = bufs;
        
        // 嶍彍僌儖乕僾偺庢摼
        bufs = (String[])hsPara.get(BLCmd.PA_RIGHTGRP);
        if(bufs!=null)
        	delGids = bufs;
    }
    
    // 擖椡抣偺戅旔
    protected void store(BLUserTempFile tmpFile) throws GSException {
    	tmpFile.SetDisplay(display);
        tmpFile.SetDispcnt(dispcnt);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -