001    
002    package com.rain;
003    
004    import java.net.*;
005    import java.util.*;
006    import javax.servlet.http.*;
007    import java.lang.*;
008    
009    /**  
010     * ±Û ¿­¶÷ Á¤º¸ °ü¸®
011     * @version 1.0
012     * @author http://cafen.net (outmind@cafen.net)
013     */
014    public class rainBoardHit{
015    
016    /**  
017     * ´ë»ó ±Û °íÀ¯¹øÈ£
018     */
019            public int muid = 0;
020    
021    /**  
022     * MYSQL CLASS
023     */
024            public rainMysql db_class = null;
025    
026    /**  
027     * ¸¶Áö¸· ¿À·ù ¸Þ¼¼Áö
028     */
029            public String error_msg = "";
030            
031    /**
032     * »ý¼ºÀÚ
033     * @param  muid  ±Û °íÀ¯¹øÈ£
034     */
035            public rainBoardHit(int muid) {
036                    this.muid = muid;
037                    this.db_class = new rainMysql("mysql");
038            }
039    
040    /**
041     * ±Û ¿­¶÷ Ƚ¼ö Ãß°¡
042     * @param  view_cnt  ¿­¶÷ Ƚ¼ö
043     * @return  Ƚ¼ö Ãß°¡¿©ºÎ
044     */
045            public Boolean insertData(int view_cnt) {
046                    rainRequest data = rainUtil.request;
047                    if (this.db_class.queryOne("select user_ip from multi_board_view where muid = '"+this.muid+"' and user_id = '"+data.getID()+"' and user_ip = '"+data.getIP()+"' and regdate > "+(data.getNow() - 60*60*24)+"").equals("")) {
048                            int viewuid = this.db_class.getLastID("multi_board_view", "viewuid");
049                            String qm = ""
050                                    + "insert into multi_board_view ( "
051                                    + " viewuid, "
052                                    + " muid, "
053                                    + " view_cnt, "
054                                    + " user_ip, "
055                                    + " user_id, "
056                                    + " regdate "
057                                    + " ) values ( "
058                                    +" '"+viewuid+"', "
059                                    +" '"+this.muid+"', "
060                                    +" '"+view_cnt+"', "
061                                    +" '"+data.getIP()+"', "
062                                    +" '"+data.getID()+"', "
063                                    +" '"+data.getNow()+"' "
064                                    +" ) ";
065                            this.db_class.change(qm);       
066                            this.synkData(view_cnt);
067                            if (data.getNow() % 20 == 0) 
068                                    this.db_class.change("delete from multi_board_view where regdate < "+(data.getNow() - 60*60*24*6));
069    
070                            return true;
071                    } else
072                            return false;
073            }
074    
075    /**
076     * ±Û ¿­¶÷ Ƚ¼ö Ãß°¡
077     * @return  Ƚ¼ö Ãß°¡¿©ºÎ
078     */
079            public Boolean insertData() {
080                    return this.insertData(1);
081            }
082    
083    /**
084     * ¿­¶÷ Ƚ¼ö ½ÌÅ©
085     * @param  view_cnt  ¿­¶÷ Ƚ¼ö
086     */
087            public void synkData(int view_cnt) {
088                    String qm = "update multi_board set hits = hits + '" + view_cnt + "' where  muid = '" + this.muid + "' ";
089                    this.db_class.change(qm);
090            }
091    
092    /**
093     * ¿­¶÷ Á¤º¸ »èÁ¦
094     */
095            public void deleteAllData() {
096                    this.db_class.change("delete from multi_board_view where muid = '" + this.muid + "' ");
097            }
098            
099    }