package kr.co.kihyun.beans.user;

//import kr.co.kihyun.tree.*;
//import java.sql.ResultSet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
//import javax.servlet.ServletException;
//import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//import kr.co.kihyun.lang.Encoder;
//import kr.co.kihyun.lang.MInteger;
//import kr.co.kihyun.lang.MLong;
import kr.co.kihyun.moumi.MoumiConfig;
import kr.co.kihyun.db.DBManager;
import kr.co.kihyun.lang.MString;
//import kr.co.kihyun.beans.user.HttpSSOLogin;
import kr.co.kihyun.text.html.ServletUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class UserModifyPer extends DBManager {
    private static final Logger LOG = LoggerFactory.getLogger(HttpUserShareList.class);
    
    public UserModifyPer(HttpServletRequest req,HttpServletResponse res) {
        
        String userId=null;
        PrintWriter out=null;
        String phone=null;
        String email=null;
        String sysAuth=null;

        try {
            res.setContentType("text/html;charset=UTF-8");
            out = res.getWriter();
            if(!HttpSSOLogin.isLogin(req)) {
                String connURL = "location='/totsys/login/login.jsp';";
                out.println(ServletUtil.getJavaScript(connURL));
                return;
            }

            userId=MString.checkNull(req.getParameter("userID"),null);			
            phone=MString.checkNull(req.getParameter("phone"),"null");
            email=MString.checkNull(req.getParameter("email"),"null");
            sysAuth=MString.checkNull(req.getParameter("findOption"),"null");
            //String sysAuth=MString.checkNull(req.getParameter("sysAuth"),"null"); //UI에서 값을 받아올것

            if(userId.equals("null")) {
                userId=null;
            }

            if(phone.equals("null")) {
                phone=null;
            }

            //String sql="UPDATE MOUMI_MUSER SET PHONE=?,EMAIL=? WHERE ID=?";
            String sql="UPDATE MOUMI_MUSER SET PHONE=?,EMAIL=? WHERE ID=?"; //추가할것

            execUpdate(sql,phone,email,userId);
            //System.out.println("sql:::::"+sql+"::phone::"+phone+"::email::"+email+":::userId:"+userId);
            //out.println(ServletUtil.alert(MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.modify")));
            out.println(ServletUtil.redirect("/totsys/sysadm/user/user_view_per.jsp?reload=yes&userID="+userId));

        //44.적절하지 않은 예외처리(광범위예외클래스)_CWE-754 Add by YOUNGJUN,CHO        
        } catch (IOException ioex) {
            ioex.printStackTrace();
            out.println(ServletUtil.alert(MoumiConfig.getMessageBundle().getString("moumi.message.popup.notCoporationChangeAdmin")));
            out.println(ServletUtil.redirect("/totsys/sysadm/user/user_view_per.jsp?reload=yes&userID="+userId));
        } catch (SQLException sqlex) {
            sqlex.printStackTrace();
            out.println(ServletUtil.alert(MoumiConfig.getMessageBundle().getString("moumi.message.popup.notCoporationChangeAdmin")));
            out.println(ServletUtil.redirect("/totsys/sysadm/user/user_view_per.jsp?reload=yes&userID="+userId));
        //++++++++++++++++++++++++++++++++++++++++++++++++
        } catch (Exception e) {
            e.printStackTrace();
            out.println(ServletUtil.alert(MoumiConfig.getMessageBundle().getString("moumi.message.popup.notCoporationChangeAdmin")));
            
            //v2. 9.크로스사이트 스크립트 (PrintWrier) : Update by KWON,HAN 
//            out.println(ServletUtil.redirect("/totsys/sysadm/user/user_view_per.jsp?reload=yes&userID="+userId));
            
            // 수정 : 외부 입력값 필터링
            String callbackFunc = "/totsys/sysadm/user/user_view_per.jsp?reload=yes&userID="+userId;
            String filtered_callbackFunc = callbackFunc.replaceAll("<","").replaceAll(">","").replaceAll(",","");
            LOG.debug("v2 9.크로스사이트 스크립트 (PrintWrier) : UserModifyPer.UserModifyPer() filtered_callbackFunc={}, Not Test", filtered_callbackFunc);
            out.println(ServletUtil.redirect(filtered_callbackFunc));
            //========================================            
            
        } finally { 
            execClose(); 
        }
    }
}
