home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPLogin.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  16.3 KB  |  669 lines

  1. import java.applet.Applet;
  2. import java.awt.BorderLayout;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Font;
  7. import java.awt.Frame;
  8. import java.awt.GridLayout;
  9. import java.awt.Label;
  10. import java.awt.Panel;
  11. import java.awt.TextField;
  12. import java.awt.Window;
  13. import java.util.Date;
  14. import java.util.StringTokenizer;
  15. import java.util.Vector;
  16.  
  17. public class JDPLogin extends Frame implements Runnable {
  18.    int msgindex;
  19.    TextField username;
  20.    TextField password;
  21.    JDesignerPro target;
  22.    JDPUser user;
  23.    JDPCustomer cust;
  24.    JDPStatusMessage mainmsg;
  25.    Font plainFont;
  26.    Font boldFont;
  27.    boolean licenseValid = true;
  28.    Vector eventVector;
  29.    JDPButton okButton;
  30.    String systemOU;
  31.  
  32.    void loadMenus(JDPUser var1, String var2) {
  33.       String[] var3 = new String[5];
  34.       int[] var4 = new int[5];
  35.       String[] var5 = new String[5];
  36.       int[] var6 = new int[5];
  37.       String var13 = "";
  38.       float var14 = Float.valueOf(JDesignerPro.actualversion.trim().replace('b', '0'));
  39.       if (this.target.versionnum != var14) {
  40.          this.performVersionUpdate(var14);
  41.       }
  42.  
  43.       this.mainmsg.setStatusMsg(JDPLang.get("JDPMain1"), 0);
  44.       var1.menu = new JDPMenuStruct();
  45.       if (var1.JDesignerPro.NDSPath != null) {
  46.          this.loadNDSMenus(var1, var2);
  47.       } else {
  48.          Vector var10 = new Vector();
  49.          String var11 = "SELECT initmenu, menuauth1, menuauth2, menuauth3, menuauth4, menuauth5, " + "menulvl1, menulvl2, menulvl3, menulvl4, menulvl5 " + " FROM JDPMenuAuth WHERE JDPSystem = '" + var2 + "' " + " AND userid = " + var1.cust.suserid;
  50.          if (var1.DEBUG) {
  51.             System.out.println("JDPLogin/loadMenus SQL: " + var11);
  52.          }
  53.  
  54.          int var12 = this.target.jaggSQL.execSQL(var11, var10);
  55.          if (var1.DEBUG) {
  56.             System.out.println("JDPLogin/loadMenus CNT: " + Integer.toString(var12));
  57.          }
  58.  
  59.          String var7;
  60.          if (var12 == 1) {
  61.             String var9 = new String(this.target.jaggSQL.getSEP());
  62.             StringTokenizer var8 = new StringTokenizer((String)var10.elementAt(0));
  63.             var1.menu.initmenu = var8.nextToken(var9).trim();
  64.             var3[0] = var8.nextToken(var9).trim();
  65.             var3[1] = var8.nextToken(var9).trim();
  66.             var3[2] = var8.nextToken(var9).trim();
  67.             var3[3] = var8.nextToken(var9).trim();
  68.             var3[4] = var8.nextToken(var9).trim();
  69.             var4[0] = Integer.parseInt(var8.nextToken(var9).trim());
  70.             var4[1] = Integer.parseInt(var8.nextToken(var9).trim());
  71.             var4[2] = Integer.parseInt(var8.nextToken(var9).trim());
  72.             var4[3] = Integer.parseInt(var8.nextToken(var9).trim());
  73.             var4[4] = Integer.parseInt(var8.nextToken(var9).trim());
  74.             var1.cust.initmenu = var1.menu.initmenu;
  75.             var1.cust.menuauth1 = var3[0];
  76.             var1.cust.menuauth2 = var3[1];
  77.             var1.cust.menuauth3 = var3[2];
  78.             var1.cust.menuauth4 = var3[3];
  79.             var1.cust.menuauth5 = var3[4];
  80.             var1.cust.menulvl1 = var4[0];
  81.             var1.cust.menulvl2 = var4[1];
  82.             var1.cust.menulvl3 = var4[2];
  83.             var1.cust.menulvl4 = var4[3];
  84.             var1.cust.menulvl5 = var4[4];
  85.             int var15 = 0;
  86.  
  87.             do {
  88.                if (var3[var15].length() > 0) {
  89.                   if (var13.length() > 0) {
  90.                      var13 = var13 + ",";
  91.                   }
  92.  
  93.                   var13 = var13 + "'" + var3[var15].trim() + "'";
  94.                }
  95.  
  96.                ++var15;
  97.             } while(var15 < 5);
  98.  
  99.             if (var13.length() == 0) {
  100.                var7 = " (menuauth1 = '*ALL') ";
  101.             } else {
  102.                var7 = " (";
  103.                var15 = 0;
  104.  
  105.                do {
  106.                   if (var15 > 0) {
  107.                      var7 = var7 + " OR ";
  108.                   }
  109.  
  110.                   var7 = var7 + "menuauth" + Integer.toString(var15 + 1).trim() + " in (" + var13 + ")";
  111.                   ++var15;
  112.                } while(var15 < 5);
  113.  
  114.                var7 = var7 + ") ";
  115.             }
  116.          } else {
  117.             var7 = " (menuauth1 = '*ALL') ";
  118.             var1.menu.initmenu = "Main";
  119.          }
  120.  
  121.          var10 = new Vector();
  122.          var11 = "SELECT menuname, menunum, menutype, menuobject, menuparm, menudesc, menutxtclr, menutabclr, " + "menuauth1, menuauth2, menuauth3, menuauth4, menuauth5, " + "menulvl1, menulvl2, menulvl3, menulvl4, menulvl5 " + "FROM JDPMenu WHERE JDPSystem = '" + var2 + "'" + " AND menustatus = 'A' AND " + var7 + " ORDER BY menuname, menunum";
  123.          if (var1.DEBUG) {
  124.             System.out.println("JDPLogin/loadMenus SQL: " + var11);
  125.          }
  126.  
  127.          var12 = this.target.jaggSQL.execSQL(var11, var10);
  128.          if (var1.DEBUG) {
  129.             System.out.println("JDPLogin/loadMenus CNT: " + Integer.toString(var12));
  130.          }
  131.  
  132.          if (var12 >= 1) {
  133.             int var28 = 0;
  134.             String[] var16 = new String[var12];
  135.             var1.menu.menunum = new int[var12];
  136.             var1.menu.menutype = new String[var12];
  137.             var1.menu.menuobject = new String[var12];
  138.             var1.menu.menuparm = new String[var12];
  139.             var1.menu.menudesc = new String[var12];
  140.             var1.menu.menutextcolor = new String[var12];
  141.             var1.menu.menutabcolor = new String[var12];
  142.             String var23 = new String(this.target.jaggSQL.getSEP());
  143.  
  144.             for(int var17 = 0; var17 < var12; ++var17) {
  145.                StringTokenizer var22 = new StringTokenizer((String)var10.elementAt(var17));
  146.                var16[var28] = var22.nextToken(var23).trim();
  147.                var1.menu.menunum[var28] = Integer.parseInt(var22.nextToken(var23).trim());
  148.                var1.menu.menutype[var28] = var22.nextToken(var23).trim();
  149.                var1.menu.menuobject[var28] = var22.nextToken(var23).trim();
  150.                var1.menu.menuparm[var28] = var22.nextToken(var23).trim();
  151.                var1.menu.menudesc[var28] = var22.nextToken(var23).trim();
  152.                var1.menu.menutextcolor[var28] = var22.nextToken(var23).trim();
  153.                var1.menu.menutabcolor[var28] = var22.nextToken(var23).trim();
  154.                var5[0] = var22.nextToken(var23).trim();
  155.                var5[1] = var22.nextToken(var23).trim();
  156.                var5[2] = var22.nextToken(var23).trim();
  157.                var5[3] = var22.nextToken(var23).trim();
  158.                var5[4] = var22.nextToken(var23).trim();
  159.                var6[0] = Integer.parseInt(var22.nextToken(var23).trim());
  160.                var6[1] = Integer.parseInt(var22.nextToken(var23).trim());
  161.                var6[2] = Integer.parseInt(var22.nextToken(var23).trim());
  162.                var6[3] = Integer.parseInt(var22.nextToken(var23).trim());
  163.                var6[4] = Integer.parseInt(var22.nextToken(var23).trim());
  164.                if (var5[0].compareTo("*ALL") != 0) {
  165.                   boolean var18 = false;
  166.                   int var19 = 0;
  167.  
  168.                   do {
  169.                      int var20 = 0;
  170.  
  171.                      do {
  172.                         if (!var3[var19].equals("") && var3[var19].equals(var5[var20]) && var4[var19] <= var6[var20]) {
  173.                            var18 = true;
  174.                            break;
  175.                         }
  176.  
  177.                         ++var20;
  178.                      } while(var20 < 5);
  179.  
  180.                      ++var19;
  181.                   } while(var19 < 5);
  182.  
  183.                   if (!var18) {
  184.                      var16[var28] = null;
  185.                      var1.menu.menunum[var28] = 0;
  186.                      var1.menu.menutype[var28] = null;
  187.                      var1.menu.menuobject[var28] = null;
  188.                      var1.menu.menuparm[var28] = null;
  189.                      var1.menu.menudesc[var28] = null;
  190.                      --var28;
  191.                   }
  192.                }
  193.  
  194.                ++var28;
  195.             }
  196.  
  197.             var1.menu.menuname = new String[var28];
  198.             System.arraycopy(var16, 0, var1.menu.menuname, 0, var28);
  199.             int[] var30 = var1.menu.menunum;
  200.             var1.menu.menunum = new int[var28];
  201.             System.arraycopy(var30, 0, var1.menu.menunum, 0, var28);
  202.             String[] var31 = var1.menu.menutype;
  203.             var1.menu.menutype = new String[var28];
  204.             System.arraycopy(var31, 0, var1.menu.menutype, 0, var28);
  205.             var31 = var1.menu.menuobject;
  206.             var1.menu.menuobject = new String[var28];
  207.             System.arraycopy(var31, 0, var1.menu.menuobject, 0, var28);
  208.             var31 = var1.menu.menuparm;
  209.             var1.menu.menuparm = new String[var28];
  210.             System.arraycopy(var31, 0, var1.menu.menuparm, 0, var28);
  211.             var31 = var1.menu.menudesc;
  212.             var1.menu.menudesc = new String[var28];
  213.             System.arraycopy(var31, 0, var1.menu.menudesc, 0, var28);
  214.          }
  215.  
  216.          if (var1.DEBUG) {
  217.             System.out.println("JDPLogin/loadMenus INI: " + var1.menu.initmenu);
  218.  
  219.             for(int var29 = 0; var29 < var1.menu.menuname.length; ++var29) {
  220.                System.out.println("JDPLogin/loadMenus MNU: " + var1.menu.menuname[var29] + " " + Integer.toString(var1.menu.menunum[var29]) + " " + var1.menu.menutype[var29] + " " + var1.menu.menuobject[var29] + " " + var1.menu.menuparm[var29] + " " + var1.menu.menudesc[var29]);
  221.             }
  222.          }
  223.  
  224.       }
  225.    }
  226.  
  227.    JDPLogin(JDesignerPro var1, String var2) {
  228.       super(var2);
  229.       this.target = var1;
  230.       if (!System.getProperty("java.version").startsWith("1.0") && System.getProperty("os.name").startsWith("Win")) {
  231.          ((Frame)this).setIconImage(var1.JDPIconImage);
  232.       }
  233.  
  234.       ((Component)this).setBackground(JDPUtils.getControlColor());
  235.       this.user = new JDPUser();
  236.       this.user.JDesignerPro = var1;
  237.       this.user.jaggSQL = new JDPJagg(var1.JDPJaggPath);
  238.       this.user.u = new JDPUtils(this.user);
  239.       JDPLang.load(this.user, var1.language, var1.country);
  240.       this.plainFont = new Font(var1.plainFontName, 0, var1.plainFontSize);
  241.       this.boldFont = new Font(var1.boldFontName, 1, var1.boldFontSize);
  242.       this.user.plainFont = this.plainFont;
  243.       this.user.boldFont = this.boldFont;
  244.       ((Component)this).setFont(this.plainFont);
  245.       ((Container)this).setLayout(new BorderLayout(1, 1));
  246.       this.mainmsg = new JDPStatusMessage((JDPUser)null);
  247.       this.eventVector = new Vector();
  248.       Panel var3 = new Panel();
  249.       Panel var4 = new Panel();
  250.       Panel var5 = new Panel();
  251.       Panel var6 = new Panel();
  252.       JDPButton.activated = true;
  253.       JDPRowLayout.activated = true;
  254.       ((Container)var3).setLayout(new JDPRowLayout(1, 1));
  255.       ((Container)var4).setLayout(new BorderLayout(1, 1));
  256.       ((Container)var6).setLayout(new BorderLayout(2, 2));
  257.       ((Container)var5).setLayout(new GridLayout(3, 1));
  258.       ((Container)var3).add("Left", new Label(JDPLang.get("JDPLogin1"), 0));
  259.       ((Container)var3).add("Left", new Label(JDPLang.get("JDPLogin2"), 0));
  260.       this.username = new TextField("", 20);
  261.       this.password = new TextField("", 20);
  262.       if (!JDesignerPro.executable && ((Applet)var1).getParameter("JDPDftUsername") != null) {
  263.          this.username.setText(((Applet)var1).getParameter("JDPDftUsername"));
  264.       } else {
  265.          this.username.setText(JDPLang.get("JDPLoginG"));
  266.       }
  267.  
  268.       if (!JDesignerPro.executable && ((Applet)var1).getParameter("JDPDftPassword") != null) {
  269.          this.password.setText(((Applet)var1).getParameter("JDPDftPassword"));
  270.       }
  271.  
  272.       this.password.setEchoCharacter('*');
  273.       ((Container)var3).add("Right", this.username);
  274.       ((Container)var3).add("Right", this.password);
  275.       if (var1.expired) {
  276.       }
  277.  
  278.       this.okButton = new JDPButton(JDPLang.get("OK"));
  279.       this.okButton.setJDPUser(this.user);
  280.       ((Container)var5).add(this.okButton);
  281.       ((Container)var5).add(new JDPButton(JDPLang.get("Cancel")));
  282.       ((Container)var6).add("West", var5);
  283.       ((Container)var6).add("North", new Panel());
  284.       JDPChiselFramePanel var7 = new JDPChiselFramePanel(this.user, JDPLang.get("JDPLogin0"), var3, "North");
  285.       Panel var8 = new Panel();
  286.       ((Container)var8).setLayout(new BorderLayout(1, 1));
  287.       Panel var9 = new Panel();
  288.       ((Container)var9).setLayout(new BorderLayout(1, 1));
  289.       ((Container)var9).add("Center", var8);
  290.       ((Container)var8).add("Center", var7);
  291.       ((Container)var8).add("East", var6);
  292.       if (!var1.expired) {
  293.          this.licenseValid = this.licenseCheck();
  294.       }
  295.  
  296.       if (var1.autoUsername == null) {
  297.          ((Container)this).add("North", var9);
  298.          ((Container)this).add("South", this.mainmsg);
  299.          ((Container)this).layout();
  300.          ((Component)this).paintAll(((Component)this).getGraphics());
  301.          ((Window)this).pack();
  302.          ((Component)this).move(60, 70);
  303.          this.username.requestFocus();
  304.          this.username.selectAll();
  305.          ((Window)this).show();
  306.          this.password.resize(this.username.bounds().width, this.password.bounds().height);
  307.       } else {
  308.          ((Container)this).add("Center", this.mainmsg);
  309.          ((Container)this).layout();
  310.          ((Component)this).paintAll(((Component)this).getGraphics());
  311.          ((Window)this).pack();
  312.          ((Component)this).move(90, 100);
  313.          ((Window)this).show();
  314.          this.loginNow(var1.autoUsername.toLowerCase().trim(), var1.autoPassword.toLowerCase().trim());
  315.       }
  316.    }
  317.  
  318.    void performVersionUpdate(float var1) {
  319.       new JDPVersionUpdate(this.user, this.target.versionnum, var1);
  320.       new JDPSetupNDS(this.user, this.target.versionnum, var1);
  321.    }
  322.  
  323.    void loadNDSMenus(JDPUser var1, String var2) {
  324.       this.target.jaggSQL.setFCTN("NDSexecSQL");
  325.       this.target.jaggSQL.setFCTNP(this.username.getText().trim() + ";" + this.password.getText().trim() + ";");
  326.       this.loadSystemOU(var2);
  327.       String var3 = this.target.jaggSQL.getSEP();
  328.       Vector var4 = new Vector();
  329.       String var5 = "SELECT b.JDP:menuname, c.JDP:menunum, c.JDP:menutype, c.JDP:menuobject, c.JDP:menuparm, c.JDP:menudesc, c.JDP:menutxtclr, c.JDP:menutabclr " + "FROM JDesignerPro Menu b, JDesignerPro Menu Option c WHERE c.JDP:menustat = 'A'" + " ORDER BY b.JDP:menuname, c.JDP:menunum " + "PARENT=" + this.systemOU + " NDSUSER='" + var1.cust.username + "'";
  330.       int var6 = this.target.jaggSQL.execSQL(var5, var4);
  331.       var1.menu.menuname = new String[var6];
  332.       var1.menu.menunum = new int[var6];
  333.       var1.menu.menutype = new String[var6];
  334.       var1.menu.menuobject = new String[var6];
  335.       var1.menu.menuparm = new String[var6];
  336.       var1.menu.menudesc = new String[var6];
  337.       var1.menu.menutextcolor = new String[var6];
  338.       var1.menu.menutabcolor = new String[var6];
  339.  
  340.       for(int var8 = 0; var8 < var6; ++var8) {
  341.          StringTokenizer var7 = new StringTokenizer((String)var4.elementAt(var8), var3);
  342.          var1.menu.menuname[var8] = var7.nextToken().trim();
  343.          var1.menu.menunum[var8] = Integer.parseInt(var7.nextToken().trim());
  344.          var1.menu.menutype[var8] = var7.nextToken().trim();
  345.          var1.menu.menuobject[var8] = var7.nextToken().trim();
  346.          var1.menu.menuparm[var8] = var7.nextToken().trim();
  347.          var1.menu.menudesc[var8] = var7.nextToken().trim();
  348.          var1.menu.menutextcolor[var8] = var7.nextToken().trim();
  349.          var1.menu.menutabcolor[var8] = var7.nextToken().trim();
  350.       }
  351.  
  352.       var1.menu.initmenu = var1.cust.initmenu;
  353.       this.target.jaggSQL.setFCTN("");
  354.       this.target.jaggSQL.setFCTNP("");
  355.    }
  356.  
  357.    void loginNow(String var1, String var2) {
  358.       int var3 = 0;
  359.       String var4 = "";
  360.       Vector var5 = new Vector();
  361.       String var6;
  362.       if (this.user.JDesignerPro.NDSPath != null) {
  363.          this.target.jaggSQL.setFCTN("NDSexecSQL");
  364.          this.target.jaggSQL.setFCTNP(var1 + ";" + var2 + ";");
  365.          if (var1.toLowerCase().compareTo(JDPLang.get("JDPLoginG").toLowerCase()) != 0) {
  366.             this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin3"), 0);
  367.             var4 = " AND password = '" + var2 + "'";
  368.          } else {
  369.             this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin4"), 0);
  370.             var1 = "Guest";
  371.          }
  372.  
  373.          if (!this.licenseValid) {
  374.             var4 = var4 + " AND JDP:userid < " + Integer.toString(JDesignerPro.JDPLicenses);
  375.          }
  376.  
  377.          var6 = "SELECT JDP:status,`Given Name`,JDP:userid,CN,JDP:password,Surname,JDP:address1,JDP:address2,JDP:city,JDP:state,JDP:zipcode," + "JDP:country,JDP:cardnum,JDP:cardexpiry,JDP:cardname,`Telephone Number`,`Email Address`,JDP:alphsvcph,JDP:alphpgrnum," + "JDP:winx1,JDP:winy1,JDP:winx2,JDP:winy2,JDP:totallogin,JDP:initmenu " + "FROM User WHERE (CN = '" + var1 + "' OR CN = '" + var1.toLowerCase() + "') " + var4;
  378.       } else {
  379.          if (var1.toLowerCase().compareTo(JDPLang.get("JDPLoginG").toLowerCase()) != 0) {
  380.             this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin3"), 0);
  381.             var4 = " AND password = '" + var2 + "'";
  382.          } else {
  383.             this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin4"), 0);
  384.             var1 = "Guest";
  385.          }
  386.  
  387.          if (!this.licenseValid) {
  388.             var4 = var4 + " AND userid <= 2 ";
  389.          }
  390.  
  391.          var6 = "SELECT status,firstname,userid,username,password,lastname,address1,address2,city,state,zipcode," + "country,cardnum,cardexpiry,cardname,phonenum,emailaddr,alphsvcph,alphpgrnum," + "winx1,winy1,winx2,winy2,jdpsystem0,jdpsystem1, " + "jdpsystem2,jdpsystem3,jdpsystem4,jdpsystem5,jdpsystem6,jdpsystem7,jdpsystem8,jdpsystem9 " + "FROM JDPUser WHERE (username = '" + var1 + "' OR username = '" + var1.toLowerCase() + "') " + var4 + " " + "AND (jdpsystem0 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem1 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem2 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem3 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem4 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem5 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem6 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem7 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem8 = '" + this.target.JDPSystem + "' " + "OR  jdpsystem9 = '" + this.target.JDPSystem + "') ";
  392.       }
  393.  
  394.       int var7 = this.target.jaggSQL.execSQL(var6, var5);
  395.       this.target.jaggSQL.setFCTN("");
  396.       if (var7 == 1) {
  397.          String var8 = new String(this.target.jaggSQL.getSEP());
  398.          StringTokenizer var9 = new StringTokenizer((String)var5.elementAt(0), var8);
  399.          String var10 = var9.nextToken().trim();
  400.          String var11 = var9.nextToken().trim();
  401.          if (var10.compareTo("A") != 0 && var10.compareTo("P") != 0 && var10.compareTo("F") != 0 && var10.compareTo("D") != 0 && var10.compareTo("G") != 0) {
  402.             this.okButton.enable();
  403.             this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin9"), 0);
  404.          } else {
  405.             if (!this.target.singlemode) {
  406.                if (var10.compareTo("D") != 0 && var10.compareTo("G") != 0 && var11.length() > 0) {
  407.                   this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin5", var11), 0);
  408.                } else {
  409.                   this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin6"), 0);
  410.                }
  411.             }
  412.  
  413.             this.cust = new JDPCustomer();
  414.             this.user.cust = this.cust;
  415.             this.user.jaggSQL = this.target.jaggSQL;
  416.             this.cust.firstname = var11;
  417.             this.cust.status = var10;
  418.             this.cust.userid = Integer.parseInt(var9.nextToken().trim());
  419.             this.cust.suserid = Integer.toString(this.cust.userid);
  420.             this.target.jaggSQL.setUserid(this.cust.suserid);
  421.             this.cust.username = var9.nextToken().trim();
  422.             this.cust.password = var9.nextToken().trim();
  423.             this.cust.lastname = var9.nextToken().trim();
  424.             this.cust.address1 = var9.nextToken().trim();
  425.             this.cust.address2 = var9.nextToken().trim();
  426.             this.cust.city = var9.nextToken().trim();
  427.             this.cust.state = var9.nextToken().trim();
  428.             this.cust.zipcode = var9.nextToken().trim();
  429.             this.cust.country = var9.nextToken().trim();
  430.             this.cust.cardnum = var9.nextToken().trim();
  431.             this.cust.cardexpiry = var9.nextToken().trim();
  432.             this.cust.cardname = var9.nextToken().trim();
  433.             this.cust.phonenum = var9.nextToken().trim();
  434.             this.cust.emailaddr = var9.nextToken().trim();
  435.             if (this.cust.emailaddr.startsWith("0;SMTP:")) {
  436.                this.cust.emailaddr = this.cust.emailaddr.substring(7);
  437.             }
  438.  
  439.             this.cust.alphsvcph = var9.nextToken().trim();
  440.             this.cust.alphpgrnum = var9.nextToken().trim();
  441.             this.cust.winx1 = Integer.parseInt(var9.nextToken().trim());
  442.             this.cust.winy1 = Integer.parseInt(var9.nextToken().trim());
  443.             this.cust.winx2 = Integer.parseInt(var9.nextToken().trim());
  444.             this.cust.winy2 = Integer.parseInt(var9.nextToken().trim());
  445.             if (this.cust.winx2 == 0) {
  446.                this.cust.winx1 = -1;
  447.                this.cust.winy1 = -1;
  448.                this.cust.winx2 = 2000;
  449.                this.cust.winy2 = 2000;
  450.             }
  451.  
  452.             if (this.user.JDesignerPro.NDSPath == null) {
  453.                this.cust.jdpsystem0 = var9.nextToken().trim();
  454.                this.cust.jdpsystem1 = var9.nextToken().trim();
  455.                this.cust.jdpsystem2 = var9.nextToken().trim();
  456.                this.cust.jdpsystem3 = var9.nextToken().trim();
  457.                this.cust.jdpsystem4 = var9.nextToken().trim();
  458.                this.cust.jdpsystem5 = var9.nextToken().trim();
  459.                this.cust.jdpsystem6 = var9.nextToken().trim();
  460.                this.cust.jdpsystem7 = var9.nextToken().trim();
  461.                this.cust.jdpsystem8 = var9.nextToken().trim();
  462.                this.cust.jdpsystem9 = var9.nextToken().trim();
  463.             } else {
  464.                String var12 = var9.nextToken().trim();
  465.                if (var12.equals("")) {
  466.                   var3 = 1;
  467.                } else {
  468.                   var3 = Integer.parseInt(var12) + 1;
  469.                }
  470.  
  471.                this.cust.initmenu = var9.nextToken().trim();
  472.                if (this.cust.initmenu.equals("")) {
  473.                   this.cust.initmenu = "Main";
  474.                }
  475.             }
  476.  
  477.             this.user.loginMessage = this.mainmsg;
  478.             this.user.DSNType = this.user.u.getDataSourceType(this.user.jaggSQL);
  479.             Date var17 = new Date();
  480.             String var13 = JDPDate.formatForSql(var17, this.user.DSNType);
  481.             this.mainmsg.setStatusMsg("Loading user preferences...", 0);
  482.             if (this.user.JDesignerPro.NDSPath == null) {
  483.                var6 = "UPDATE JDPUser SET lastaccess = " + var13 + ", totallogin=totallogin+1 WHERE userid = " + this.cust.suserid;
  484.                var7 = this.target.jaggSQL.execSQL(var6, var5);
  485.             } else {
  486.                var13 = JDPDate.format(var17);
  487.                var6 = "UPDATE User SET JDP:lastaccess = '" + var13 + "', JDP:totallogin=" + Integer.toString(var3) + " WHERE JDP:userid = " + this.cust.suserid;
  488.                this.target.jaggSQL.setFCTN("NDSexecSQL");
  489.                var7 = this.target.jaggSQL.execSQL(var6, var5);
  490.                this.target.jaggSQL.setFCTN("");
  491.             }
  492.  
  493.             if (var7 < 0) {
  494.                this.user.u.setSqlMessage(this.target.jaggSQL, var6);
  495.             }
  496.  
  497.             this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin7"), 0);
  498.             this.target.user = new JDPUser[50];
  499.             this.target.user[0] = this.user;
  500.             this.target.user[0].JDesignerPro = this.target;
  501.             this.target.user[0].cust = this.cust;
  502.             this.target.user[0].cust.username = this.username.getText();
  503.             this.target.user[0].cust.password = this.password.getText();
  504.             this.target.user[0].JDPSystem = this.target.JDPSystem;
  505.             this.target.user[0].JDPSystemDesc = this.target.JDPSystemDesc;
  506.             this.target.user[0].boldFontName = this.target.boldFontName;
  507.             this.target.user[0].boldFontSize = this.target.boldFontSize;
  508.             this.target.user[0].plainFontName = this.target.plainFontName;
  509.             this.target.user[0].plainFontSize = this.target.plainFontSize;
  510.             this.target.user[0].boldFont = this.boldFont;
  511.             this.target.user[0].plainFont = this.plainFont;
  512.             this.target.user[0].gParm = new Vector();
  513.             this.target.user[0].loginMessage = this.mainmsg;
  514.             this.target.user[0].saveProperties = new JDPSaveProps(this.target.user[0]);
  515.             this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin8"), 0);
  516.             String var14 = this.target.JDPSystem;
  517.             if (!JDesignerPro.usingNDSSnapin) {
  518.                this.loadMenus(this.target.user[0], var14);
  519.             }
  520.  
  521.             this.target.validLogin();
  522.             ((Frame)this).dispose();
  523.          }
  524.       } else if (var7 == 0) {
  525.          this.okButton.enable();
  526.          this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin10"), 0);
  527.          this.username.requestFocus();
  528.          this.username.selectAll();
  529.       } else {
  530.          this.okButton.enable();
  531.          this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin11"), 0);
  532.       }
  533.    }
  534.  
  535.    boolean licenseCheck() {
  536.       String var2 = this.target.jaggSQL.getSEP();
  537.       this.target.jaggSQL.setFCTN("CheckLicense");
  538.       this.target.jaggSQL.setFCTNP("");
  539.       Vector var3 = new Vector();
  540.       int var4 = this.target.jaggSQL.execSQL("", var3);
  541.       this.target.jaggSQL.setFCTN("");
  542.       if (var4 <= 0) {
  543.          var4 = 100;
  544.          JDesignerPro.JDPLicensed = false;
  545.       } else {
  546.          JDesignerPro.JDPLicensed = true;
  547.       }
  548.  
  549.       String var5;
  550.       if (this.user.JDesignerPro.NDSPath != null) {
  551.          this.target.jaggSQL.setFCTN("NDSexecSQL");
  552.          var5 = "SELECT count(*) from User WHERE JDP:status = 'A' OR JDP:status = 'P' OR JDP:status = 'G' OR JDP:status = 'F')";
  553.       } else {
  554.          var5 = "SELECT count(*) from JDPUser WHERE status in ('A','P','G','F')";
  555.       }
  556.  
  557.       var3 = new Vector();
  558.       int var6 = this.target.jaggSQL.execSQL(var5, var3);
  559.       if (var6 > 0) {
  560.          StringTokenizer var1 = new StringTokenizer((String)var3.elementAt(0));
  561.          String var7 = var1.nextToken(var2).trim();
  562.          int var8 = var7.indexOf(".");
  563.          if (var8 >= 0) {
  564.             var7 = var7.substring(0, var8);
  565.          }
  566.  
  567.          int var9 = Integer.parseInt(var7);
  568.          JDesignerPro.JDPLicenses = var4;
  569.          if (var9 > var4) {
  570.             this.mainmsg.setStatusMsg("Users exceeds license, contact BulletProof", 0);
  571.             return false;
  572.          } else {
  573.             return true;
  574.          }
  575.       } else if (this.user.JDesignerPro.NDSPath != null) {
  576.          JDesignerPro.JDPLicenses = var4;
  577.          return true;
  578.       } else {
  579.          this.mainmsg.setStatusMsg(JDPLang.get("JDPLogin12"), 0);
  580.          System.out.println(JDPLang.get("JDPLogin13"));
  581.          return false;
  582.       }
  583.    }
  584.  
  585.    public void run() {
  586.       Event var1 = (Event)this.eventVector.elementAt(0);
  587.       this.eventVector.removeElementAt(0);
  588.       if (this.target.expired) {
  589.          this.target.invalidLogin();
  590.          ((Frame)this).dispose();
  591.          if (JDesignerPro.executable) {
  592.             System.exit(0);
  593.          }
  594.  
  595.       } else {
  596.          String var2 = (String)var1.arg;
  597.          if (var1.target instanceof JDPButton) {
  598.             if (var2.compareTo(JDPLang.get("OK")) == 0) {
  599.                String var5 = this.username.getText().trim();
  600.                String var6 = "";
  601.                if (var5.compareTo(JDPLang.get("JDPLoginG").toLowerCase()) != 0) {
  602.                   var6 = this.password.getText().toLowerCase().trim();
  603.                }
  604.  
  605.                this.okButton.disable();
  606.                this.loginNow(var5, var6);
  607.             } else {
  608.                this.target.invalidLogin();
  609.                ((Frame)this).dispose();
  610.                JDPJagg.cleanUp();
  611.                if (JDesignerPro.executable) {
  612.                   System.exit(0);
  613.                }
  614.  
  615.             }
  616.          } else if (var1.target instanceof TextField) {
  617.             String var3 = this.username.getText().trim();
  618.             String var4 = "";
  619.             if (var3.toLowerCase().compareTo(JDPLang.get("JDPLoginG").toLowerCase()) != 0) {
  620.                var4 = this.password.getText().toLowerCase().trim();
  621.             }
  622.  
  623.             this.okButton.disable();
  624.             this.loginNow(var3, var4);
  625.          }
  626.       }
  627.    }
  628.  
  629.    public boolean handleEvent(Event var1) {
  630.       if (var1.id == 1001) {
  631.          this.eventVector.addElement(var1);
  632.          Thread var2 = new Thread(this);
  633.          var2.start();
  634.          return true;
  635.       } else if (var1.id == 201) {
  636.          this.target.invalidLogin();
  637.          ((Frame)this).dispose();
  638.          JDPJagg.cleanUp();
  639.          if (JDesignerPro.executable) {
  640.             System.exit(0);
  641.          }
  642.  
  643.          return true;
  644.       } else if (var1.key == 9 && var1.id == 401) {
  645.          if (var1.target.equals(this.username)) {
  646.             this.password.requestFocus();
  647.             this.password.selectAll();
  648.             return true;
  649.          } else if (var1.target.equals(this.password)) {
  650.             this.username.requestFocus();
  651.             this.username.selectAll();
  652.             return true;
  653.          } else {
  654.             return true;
  655.          }
  656.       } else {
  657.          return false;
  658.       }
  659.    }
  660.  
  661.    void loadSystemOU(String var1) {
  662.       String var2 = "SELECT OU FROM JDesignerPro System WHERE JDP:JDPSystem = '" + var1 + "'";
  663.       Vector var3 = new Vector();
  664.       this.target.jaggSQL.execSQL(var2, var3);
  665.       StringTokenizer var4 = new StringTokenizer((String)var3.elementAt(0));
  666.       this.systemOU = var4.nextToken(this.target.jaggSQL.getSEP()).trim();
  667.    }
  668. }
  669.