| 773 | | } |
|---|
| 774 | | else{ |
|---|
| 775 | | Common.writeLog("login.log",Common.date( "j.m.Y H:i:s")+": <"+getRequest().getRemoteAddress()+"> ("+user.getID()+") <"+username+"> Login von Browser <"+getRequest().getUserAgent()+">\n"); |
|---|
| 776 | | |
|---|
| 777 | | int id = user.getID(); |
|---|
| 778 | | |
|---|
| 779 | | String sess = Common.md5(""+RandomUtils.nextInt(Integer.MAX_VALUE)); |
|---|
| 780 | | |
|---|
| 781 | | db.update("DELETE FROM sessions WHERE id='",id,"' AND attach IS NULL"); |
|---|
| 782 | | db.update("INSERT INTO sessions (id,session,ip,lastaction,usegfxpak) ", |
|---|
| 783 | | " VALUES('",id,"','",sess,"','<",getRequest().getRemoteAddress(),">','",Common.time(),"','",usegfxpak,"')"); |
|---|
| 784 | | |
|---|
| 785 | | if( (user.getVacationCount() == 0) || (user.getWait4VacationCount() != 0) ) { |
|---|
| 786 | | t.set_var( "show.login.msg.ok", 1, |
|---|
| 787 | | "login.sess", sess ); |
|---|
| 788 | | } |
|---|
| 789 | | else { |
|---|
| 790 | | t.set_var( "show.login.vacmode", 1, |
|---|
| 791 | | "login.vacmode.dauer", Common.ticks2Days(user.getVacationCount()), |
|---|
| 792 | | "login.vacmode.sess", sess ); |
|---|
| | 761 | } |
|---|
| | 762 | else if( user.getDisabled() ) { |
|---|
| | 763 | t.set_var("show.login.msg.accdisabled",1); |
|---|
| | 764 | Common.writeLog("login.log", Common.date( "j.m.Y H:i:s")+": <"+getRequest().getRemoteAddress()+"> ("+user.getID()+") <"+username+"> Password <"+password+"> ***ACCOUNT GESPERRT*** von Browser <"+getRequest().getUserAgent()+">\n"); |
|---|
| | 765 | |
|---|
| | 766 | db.update("DELETE FROM sessions WHERE id='",user.getID(),"'"); |
|---|
| | 767 | clear = false; |
|---|
| | 768 | } |
|---|
| | 769 | else { |
|---|
| | 770 | SQLResultRow session = db.first("SELECT * FROM sessions WHERE id='",user.getID(),"'"); |
|---|
| | 771 | if( !session.isEmpty() && (session.getInt("tick") != 0) ) { |
|---|
| | 772 | t.set_var("show.login.msg.tick",1); |
|---|
| | 773 | clear = false; |
|---|
| 794 | | |
|---|
| 795 | | // Ueberpruefen ob das gfxpak noch aktuell ist |
|---|
| 796 | | if( (usegfxpak != 0) && !user.getUserImagePath().equals(User.getDefaultImagePath(db)) ) { |
|---|
| 797 | | t.set_var( "login.checkgfxpak", 1, |
|---|
| 798 | | "login.checkgfxpak.path", user.getUserImagePath() ); |
|---|
| 799 | | } |
|---|
| 800 | | |
|---|
| 801 | | /* |
|---|
| 802 | | * HACK (? - das ganze sollte vieleicht besser ins Framework) |
|---|
| 803 | | * |
|---|
| 804 | | * Browser erkennen und ggf eine Warnung ausgeben |
|---|
| 805 | | * |
|---|
| 806 | | */ |
|---|
| 807 | | |
|---|
| 808 | | String browser = getRequest().getUserAgent().toLowerCase(); |
|---|
| 809 | | String browsername = null; |
|---|
| 810 | | if( browser.indexOf("opera") != -1 ) { |
|---|
| 811 | | browsername = "opera"; |
|---|
| 812 | | } |
|---|
| 813 | | else if( browser.indexOf("msie") != -1 ) { |
|---|
| 814 | | browsername = "msie"; |
|---|
| 815 | | } |
|---|
| 816 | | else if( (browser.indexOf("firefox") != -1) || (browser.indexOf("gecko") != -1) ) { |
|---|
| 817 | | browsername = "mozilla"; |
|---|
| 818 | | } |
|---|
| 819 | | else { |
|---|
| 820 | | browsername = "unknown"; |
|---|
| 821 | | } |
|---|
| 822 | | |
|---|
| 823 | | try { |
|---|
| 824 | | if( browsername.equals("opera") ) { |
|---|
| 825 | | Matcher browserpattern = Pattern.compile("opera ([0-9\\.,]+)").matcher(browser); |
|---|
| 826 | | browserpattern.find(); |
|---|
| 827 | | String tmp = browserpattern.group(0); |
|---|
| 828 | | |
|---|
| 829 | | double version = Double.parseDouble(tmp); |
|---|
| 830 | | if( (version > 0) && (version < 9.0) ) { |
|---|
| | 775 | else{ |
|---|
| | 776 | Common.writeLog("login.log",Common.date( "j.m.Y H:i:s")+": <"+getRequest().getRemoteAddress()+"> ("+user.getID()+") <"+username+"> Login von Browser <"+getRequest().getUserAgent()+">\n"); |
|---|
| | 777 | |
|---|
| | 778 | int id = user.getID(); |
|---|
| | 779 | |
|---|
| | 780 | String sess = Common.md5(""+RandomUtils.nextInt(Integer.MAX_VALUE)); |
|---|
| | 781 | |
|---|
| | 782 | db.update("DELETE FROM sessions WHERE id='",id,"' AND attach IS NULL"); |
|---|
| | 783 | db.update("INSERT INTO sessions (id,session,ip,lastaction,usegfxpak) ", |
|---|
| | 784 | " VALUES('",id,"','",sess,"','<",getRequest().getRemoteAddress(),">','",Common.time(),"','",usegfxpak,"')"); |
|---|
| | 785 | |
|---|
| | 786 | if( (user.getVacationCount() == 0) || (user.getWait4VacationCount() != 0) ) { |
|---|
| | 787 | t.set_var( "show.login.msg.ok", 1, |
|---|
| | 788 | "login.sess", sess ); |
|---|
| | 789 | } |
|---|
| | 790 | else { |
|---|
| | 791 | t.set_var( "show.login.vacmode", 1, |
|---|
| | 792 | "login.vacmode.dauer", Common.ticks2Days(user.getVacationCount()), |
|---|
| | 793 | "login.vacmode.sess", sess ); |
|---|
| | 794 | } |
|---|
| | 795 | |
|---|
| | 796 | // Ueberpruefen ob das gfxpak noch aktuell ist |
|---|
| | 797 | if( (usegfxpak != 0) && !user.getUserImagePath().equals(User.getDefaultImagePath(db)) ) { |
|---|
| | 798 | t.set_var( "login.checkgfxpak", 1, |
|---|
| | 799 | "login.checkgfxpak.path", user.getUserImagePath() ); |
|---|
| | 800 | } |
|---|
| | 801 | |
|---|
| | 802 | /* |
|---|
| | 803 | * HACK (? - das ganze sollte vieleicht besser ins Framework) |
|---|
| | 804 | * |
|---|
| | 805 | * Browser erkennen und ggf eine Warnung ausgeben |
|---|
| | 806 | * |
|---|
| | 807 | */ |
|---|
| | 808 | |
|---|
| | 809 | String browser = getRequest().getUserAgent().toLowerCase(); |
|---|
| | 810 | String browsername = null; |
|---|
| | 811 | if( browser.indexOf("opera") != -1 ) { |
|---|
| | 812 | browsername = "opera"; |
|---|
| | 813 | } |
|---|
| | 814 | else if( browser.indexOf("msie") != -1 ) { |
|---|
| | 815 | browsername = "msie"; |
|---|
| | 816 | } |
|---|
| | 817 | else if( (browser.indexOf("firefox") != -1) || (browser.indexOf("gecko") != -1) ) { |
|---|
| | 818 | browsername = "mozilla"; |
|---|
| | 819 | } |
|---|
| | 820 | else { |
|---|
| | 821 | browsername = "unknown"; |
|---|
| | 822 | } |
|---|
| | 823 | |
|---|
| | 824 | try { |
|---|
| | 825 | if( browsername.equals("opera") ) { |
|---|
| | 826 | Matcher browserpattern = Pattern.compile("opera ([0-9\\.,]+)").matcher(browser); |
|---|
| | 827 | browserpattern.find(); |
|---|
| | 828 | String tmp = browserpattern.group(0); |
|---|
| | 829 | |
|---|
| | 830 | double version = Double.parseDouble(tmp); |
|---|
| | 831 | if( (version > 0) && (version < 9.0) ) { |
|---|
| | 832 | t.set_var( "show.login.browserwarning", 1, |
|---|
| | 833 | "browser.name", "Opera", |
|---|
| | 834 | "browser.version", version ); |
|---|
| | 835 | } |
|---|
| | 836 | } |
|---|
| | 837 | else if( browsername.equals("msie") ) { |
|---|
| | 838 | Matcher browserpattern = Pattern.compile("msie ([0-9\\.,]+)").matcher(browser); |
|---|
| | 839 | browserpattern.find(); |
|---|
| | 840 | String tmp = browserpattern.group(1); |
|---|
| | 841 | |
|---|
| | 842 | double version = Double.parseDouble(tmp); |
|---|
| | 843 | |
|---|