package com.key.dwsurvey.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import com.itextpdf.text.log.SysoCounter;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Namespaces;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.key.common.base.action.CrudActionSupport;
import com.key.common.utils.web.Struts2Utils;
import com.opensymphony.xwork2.ActionSupport;
/**
* 系统配置
* @author KeYuan(keyuan258@gmail.com)
*
* https://github.com/wkeyuan/DWSurvey
* http://dwsurvey.net
*
*/
@Namespaces({@Namespace("/sy/system"),@Namespace("/sy/system/nosm")})
//@InterceptorRefs({ @InterceptorRef("paramsPrepareParamsStack") })
@Results({
@Result(name=CrudActionSupport.INPUT,location="/WEB-INF/page/content/diaowen-system/property-input.jsp",type=Struts2Utils.DISPATCHER),
@Result(name=CrudActionSupport.SUCCESS,location="/sy/system/sys-property!input.action",type=Struts2Utils.REDIRECT)
})
public class SysPropertyAction extends ActionSupport{
@Override
public String input() throws Exception {
HttpServletRequest request = Struts2Utils.getRequest();
String fileName="site.properties";
ServletContext sc = Struts2Utils.getSession().getServletContext();
String filePath = "/WEB-INF/classes/conf/site/".replace("/", File.separator);
String fileRealPath = sc.getRealPath("/")+filePath+fileName;
File file=new File(fileRealPath);
InputStreamReader fr = new InputStreamReader(new FileInputStream(file),"UTF-8");
Properties p = new Properties();
try {
p.load(fr);
fr.close();
String adminEmail = p.getProperty("adminEmail");
String adminQQ = p.getProperty("adminQQ");
String adminTelephone = p.getProperty("adminTelephone");
String icpCode = p.getProperty("icpCode");
String tongjiCode = p.getProperty("tongjiCode");
String loginBgImg = p.getProperty("loginBgImg");
request.setAttribute("adminEmail", adminEmail);
request.setAttribute("adminQQ", adminQQ);
request.setAttribute("adminTelephone", adminTelephone);
request.setAttribute("icpCode", icpCode);
request.setAttribute("tongjiCode", tongjiCode);
request.setAttribute("loginBgImg", loginBgImg);
} catch (IOException e1) {
e1.printStackTrace();
}
return INPUT;
}
public String save() throws Exception {
//管理员邮箱
String adminEmail = Struts2Utils.getParameter("adminEmail");
//管理员QQ
String adminQQ = Struts2Utils.getParameter("adminQQ");
//管理员电话
String adminTelephone = Struts2Utils.getParameter("adminTelephone");
//网站备案信息代码
String icpCode = Struts2Utils.getParameter("icpCode");
//网站备案信息代码
String tongjiCode = Struts2Utils.getParameter("tongjiCode");
String loginBgImg = Struts2Utils.getParameter("loginBgImg");
// SysProperty sysProperty = new SysProperty();
// sysProperty.setSiteName(siteName);
// sysProperty.setLogoPath(logoPath);
// sysProperty.setAdminEmail(adminEmail);
// sysProperty.setAdminQQ(adminQQ);
// sysProperty.setAdminTelephone(adminTelephone);
// sysProperty.setIcpCode(icpCode);
String siteFilePath = "/WEB-INF/classes/conf/site/site.properties".replace("/", File.separator);
StringBuffer siteData=new StringBuffer();
siteData.append("\r\nadminEmail=").append(adminEmail);
siteData.append("\r\nadminQQ=").append(adminQQ);
siteData.append("\r\nadminTelephone=").append(adminTelephone);
siteData.append("\r\nicpCode=").append(icpCode);
siteData.append("\r\ntongjiCode=").append(tongjiCode);
siteData.append("\r\nloginBgImg=").append(loginBgImg);
writeData(siteFilePath, siteData.toString());
//写LOGO DATA文件
String headerData="OSS ";
String headerDataPath="/WEB-INF/page/layouts/logo-img.jsp".replace("/", File.separator);
writeData(headerDataPath, headerData);
if(adminTelephone!=null && adminEmail!=null){
//写footer文件
String footer1="
" +"邮箱:"+adminEmail+" 电话:"+adminTelephone+" " +""+icpCode+"
邮箱:"+adminEmail+"
电话:"+adminTelephone+"
"+icpCode+"