home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 45 / cda45.iso / Titulos / Octagon / joylock.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-03  |  9.0 KB  |  444 lines

  1. import java.applet.Applet;
  2. import java.awt.Button;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.Graphics;
  8. import java.awt.Label;
  9. import java.awt.LayoutManager;
  10. import java.awt.TextArea;
  11. import java.awt.TextField;
  12. import java.net.MalformedURLException;
  13. import java.net.URL;
  14. import java.util.StringTokenizer;
  15.  
  16. public class joylock extends Applet {
  17.    Label lUsername;
  18.    Label lPassword;
  19.    TextArea textArea;
  20.    Button loginButton;
  21.    TextField ePassword;
  22.    TextField eUsername;
  23.    int numUsers;
  24.    int numWrongPass;
  25.    String loginText;
  26.    String linkURL;
  27.    String linkFrame;
  28.    String preLoginMessage;
  29.    String reLinkURL;
  30.    String reLinkFrame;
  31.    String[] username;
  32.    String[] password;
  33.    String[] urls;
  34.    String[] frames;
  35.    String alphabet = "abcdefghijklmnopqrstuvwxyz";
  36.    Color textColor;
  37.    Color bkColor;
  38.    boolean registered = false;
  39.  
  40.    public void init() {
  41.       super.init();
  42.       int var1 = ((Component)this).size().width - 80;
  43.       StringTokenizer var2 = new StringTokenizer(((Applet)this).getParameter("GENERAL"), "|", false);
  44.       this.numUsers = Integer.parseInt(var2.nextToken());
  45.       if (Integer.parseInt(var2.nextToken()) == 11) {
  46.          this.registered = true;
  47.       } else if (((Applet)this).getDocumentBase().toString().startsWith("file")) {
  48.          this.registered = true;
  49.       }
  50.  
  51.       if (this.registered) {
  52.          this.bkColor = new Color(Integer.parseInt(var2.nextToken(), 16));
  53.          this.textColor = new Color(Integer.parseInt(var2.nextToken(), 16));
  54.          this.linkURL = var2.nextToken();
  55.          if (!this.linkURL.equalsIgnoreCase(" ")) {
  56.             this.decript(this.linkURL, 0, 0, 0, 0, 0, false);
  57.          }
  58.  
  59.          this.linkFrame = var2.nextToken();
  60.          this.loginText = var2.nextToken();
  61.          this.preLoginMessage = var2.nextToken();
  62.          this.reLinkURL = var2.nextToken();
  63.          this.reLinkFrame = var2.nextToken();
  64.          this.username = new String[this.numUsers];
  65.          this.password = new String[this.numUsers];
  66.          this.urls = new String[this.numUsers];
  67.          this.frames = new String[this.numUsers];
  68.  
  69.          for(int var8 = 0; var8 < this.numUsers; ++var8) {
  70.             var2 = new StringTokenizer(((Applet)this).getParameter(Integer.toString(var8)), "|", false);
  71.             int var3 = Integer.parseInt(var2.nextToken());
  72.             int var4 = Integer.parseInt(var2.nextToken());
  73.             int var5 = Integer.parseInt(var2.nextToken());
  74.             int var6 = Integer.parseInt(var2.nextToken());
  75.             String var7 = var2.nextToken();
  76.             this.decript(var7, var8, var3, var4, var5, var6, true);
  77.          }
  78.  
  79.          ((Component)this).setBackground(this.bkColor);
  80.          ((Container)this).setLayout((LayoutManager)null);
  81.          this.loginButton = new Button();
  82.          this.loginButton.setLabel("Login");
  83.          this.loginButton.reshape(8, ((Component)this).size().height - 30, ((Component)this).size().width - 16, 24);
  84.          this.loginButton.setBackground(new Color(12632256));
  85.          ((Container)this).add(this.loginButton);
  86.          this.lUsername = new Label("Username:");
  87.          this.lUsername.reshape(8, ((Component)this).size().height - 88, 64, 24);
  88.          this.lUsername.setForeground(this.textColor);
  89.          ((Container)this).add(this.lUsername);
  90.          this.lPassword = new Label("Password:");
  91.          this.lPassword.reshape(8, ((Component)this).size().height - 60, 64, 24);
  92.          this.lPassword.setForeground(this.textColor);
  93.          ((Container)this).add(this.lPassword);
  94.          this.eUsername = new TextField();
  95.          this.eUsername.reshape(72, ((Component)this).size().height - 88, var1, 24);
  96.          this.eUsername.setBackground(new Color(16777215));
  97.          ((Container)this).add(this.eUsername);
  98.          this.ePassword = new TextField();
  99.          this.ePassword.setEchoCharacter('*');
  100.          this.ePassword.reshape(72, ((Component)this).size().height - 60, var1, 24);
  101.          this.ePassword.setBackground(new Color(16777215));
  102.          ((Container)this).add(this.ePassword);
  103.          this.textArea = new TextArea(this.preLoginMessage);
  104.          this.textArea.reshape(8, 6, ((Component)this).size().width - 16, ((Component)this).size().height - 98);
  105.          this.textArea.setBackground(new Color(16777215));
  106.          this.textArea.setEditable(false);
  107.          ((Container)this).add(this.textArea);
  108.       }
  109.  
  110.    }
  111.  
  112.    public void paint(Graphics var1) {
  113.       if (!this.registered) {
  114.          var1.drawString("You have the unregistered", 0, 10);
  115.          var1.drawString("version of this program", 0, 20);
  116.          var1.drawString("You need the registered version", 0, 30);
  117.          var1.drawString("for this Applet to work on the internet", 0, 40);
  118.          var1.drawString("Click HERE for registration instructions", 0, 50);
  119.       }
  120.  
  121.    }
  122.  
  123.    void clickLoginButton(Event var1) {
  124.       for(int var2 = 0; var2 < this.numUsers; ++var2) {
  125.          if (this.username[var2].equalsIgnoreCase(this.eUsername.getText()) && this.password[var2].equalsIgnoreCase(this.ePassword.getText())) {
  126.             try {
  127.                URL var7;
  128.                if (!this.urls[var2].equalsIgnoreCase("")) {
  129.                   var7 = new URL(((Applet)this).getDocumentBase(), this.urls[var2]);
  130.                } else {
  131.                   var7 = new URL(((Applet)this).getDocumentBase(), this.linkURL);
  132.                }
  133.  
  134.                String var4;
  135.                if (!this.frames[var2].equalsIgnoreCase("")) {
  136.                   var4 = this.frames[var2];
  137.                } else {
  138.                   var4 = this.linkFrame;
  139.                }
  140.  
  141.                if (var4 != null && !var4.equalsIgnoreCase(" ")) {
  142.                   ((Applet)this).getAppletContext().showDocument(var7, var4);
  143.                } else {
  144.                   ((Applet)this).getAppletContext().showDocument(var7);
  145.                }
  146.             } catch (MalformedURLException var5) {
  147.             }
  148.  
  149.             this.textArea.setText(this.loginText);
  150.             return;
  151.          }
  152.  
  153.          if (var2 == this.numUsers - 1) {
  154.             this.eUsername.setText("");
  155.             this.ePassword.setText("");
  156.             this.textArea.setText("Incorrect Username or Password.");
  157.             if (this.reLinkURL != null && !this.reLinkURL.equalsIgnoreCase(" ") && this.numWrongPass == 2) {
  158.                this.numWrongPass = 0;
  159.  
  160.                try {
  161.                   URL var3 = new URL(((Applet)this).getDocumentBase(), this.reLinkURL);
  162.                   if (this.reLinkFrame != null && !this.reLinkFrame.equalsIgnoreCase(" ")) {
  163.                      ((Applet)this).getAppletContext().showDocument(var3, this.reLinkFrame);
  164.                   } else {
  165.                      ((Applet)this).getAppletContext().showDocument(var3);
  166.                   }
  167.                } catch (MalformedURLException var6) {
  168.                }
  169.             } else {
  170.                ++this.numWrongPass;
  171.             }
  172.          }
  173.       }
  174.  
  175.    }
  176.  
  177.    public boolean handleEvent(Event var1) {
  178.       if (var1.key != 10 && (var1.target != this.loginButton || var1.id != 1001)) {
  179.          return super.handleEvent(var1);
  180.       } else {
  181.          this.clickLoginButton(var1);
  182.          return true;
  183.       }
  184.    }
  185.  
  186.    public boolean mouseUp(Event var1, int var2, int var3) {
  187.       if (!this.registered) {
  188.          try {
  189.             URL var4 = new URL(((Applet)this).getDocumentBase(), "http://www.coffeecup.com/");
  190.             ((Applet)this).getAppletContext().showDocument(var4);
  191.          } catch (MalformedURLException var5) {
  192.          }
  193.       }
  194.  
  195.       return true;
  196.    }
  197.  
  198.    final void decript(String var1, int var2, int var3, int var4, int var5, int var6, boolean var7) {
  199.       String var9 = "";
  200.       String var10 = var1.substring(0, 26);
  201.       String var11 = var1.substring(26, var1.length());
  202.       String[] var8 = new String[52];
  203.  
  204.       for(int var12 = 0; var12 < 52; ++var12) {
  205.          var8[var12] = "";
  206.       }
  207.  
  208.       var8[0] = var8[0] + var10.charAt(this.alphabet.indexOf("a"));
  209.       var8[1] = var8[1] + var10.charAt(this.alphabet.indexOf("b"));
  210.       var8[2] = var8[2] + var10.charAt(this.alphabet.indexOf("c"));
  211.       var8[3] = var8[3] + var10.charAt(this.alphabet.indexOf("d"));
  212.       var8[4] = var8[4] + var10.charAt(this.alphabet.indexOf("e"));
  213.       var8[5] = var8[5] + var10.charAt(this.alphabet.indexOf("f"));
  214.       var8[6] = var8[6] + var10.charAt(this.alphabet.indexOf("g"));
  215.       var8[7] = var8[7] + var10.charAt(this.alphabet.indexOf("h"));
  216.       var8[8] = var8[8] + var10.charAt(this.alphabet.indexOf("i"));
  217.       var8[9] = var8[9] + var10.charAt(this.alphabet.indexOf("j"));
  218.       var8[10] = var8[10] + var10.charAt(this.alphabet.indexOf("k"));
  219.       var8[11] = var8[11] + var10.charAt(this.alphabet.indexOf("l"));
  220.       var8[12] = var8[12] + var10.charAt(this.alphabet.indexOf("m"));
  221.       var8[13] = var8[13] + var10.charAt(this.alphabet.indexOf("n"));
  222.       var8[14] = var8[14] + var10.charAt(this.alphabet.indexOf("o"));
  223.       var8[15] = var8[15] + var10.charAt(this.alphabet.indexOf("p"));
  224.       var8[16] = var8[16] + var10.charAt(this.alphabet.indexOf("q"));
  225.       var8[17] = var8[17] + var10.charAt(this.alphabet.indexOf("r"));
  226.       var8[18] = var8[18] + var10.charAt(this.alphabet.indexOf("s"));
  227.       var8[19] = var8[19] + var10.charAt(this.alphabet.indexOf("t"));
  228.       var8[20] = var8[20] + var10.charAt(this.alphabet.indexOf("u"));
  229.       var8[21] = var8[21] + var10.charAt(this.alphabet.indexOf("v"));
  230.       var8[22] = var8[22] + var10.charAt(this.alphabet.indexOf("w"));
  231.       var8[23] = var8[23] + var10.charAt(this.alphabet.indexOf("x"));
  232.       var8[24] = var8[24] + var10.charAt(this.alphabet.indexOf("y"));
  233.       var8[25] = var8[25] + var10.charAt(this.alphabet.indexOf("z"));
  234.       var8[26] = var8[26] + var10.charAt(this.alphabet.indexOf("a"));
  235.       var8[27] = var8[27] + var10.charAt(this.alphabet.indexOf("b"));
  236.       var8[28] = var8[28] + var10.charAt(this.alphabet.indexOf("c"));
  237.       var8[29] = var8[29] + var10.charAt(this.alphabet.indexOf("d"));
  238.       var8[30] = var8[30] + var10.charAt(this.alphabet.indexOf("e"));
  239.       var8[31] = var8[31] + var10.charAt(this.alphabet.indexOf("f"));
  240.       var8[32] = var8[32] + var10.charAt(this.alphabet.indexOf("g"));
  241.       var8[33] = var8[33] + var10.charAt(this.alphabet.indexOf("h"));
  242.       var8[34] = var8[34] + var10.charAt(this.alphabet.indexOf("i"));
  243.       var8[35] = var8[35] + var10.charAt(this.alphabet.indexOf("j"));
  244.       var8[36] = var8[36] + var10.charAt(this.alphabet.indexOf("k"));
  245.       var8[37] = var8[37] + var10.charAt(this.alphabet.indexOf("l"));
  246.       var8[38] = var8[38] + var10.charAt(this.alphabet.indexOf("m"));
  247.       var8[39] = var8[39] + var10.charAt(this.alphabet.indexOf("n"));
  248.       var8[40] = var8[40] + var10.charAt(this.alphabet.indexOf("o"));
  249.       var8[41] = var8[41] + var10.charAt(this.alphabet.indexOf("p"));
  250.       var8[42] = var8[42] + var10.charAt(this.alphabet.indexOf("q"));
  251.       var8[43] = var8[43] + var10.charAt(this.alphabet.indexOf("r"));
  252.       var8[44] = var8[44] + var10.charAt(this.alphabet.indexOf("s"));
  253.       var8[45] = var8[45] + var10.charAt(this.alphabet.indexOf("t"));
  254.       var8[46] = var8[46] + var10.charAt(this.alphabet.indexOf("u"));
  255.       var8[47] = var8[47] + var10.charAt(this.alphabet.indexOf("v"));
  256.       var8[48] = var8[48] + var10.charAt(this.alphabet.indexOf("w"));
  257.       var8[49] = var8[49] + var10.charAt(this.alphabet.indexOf("x"));
  258.       var8[50] = var8[50] + var10.charAt(this.alphabet.indexOf("y"));
  259.       var8[51] = var8[51] + var10.charAt(this.alphabet.indexOf("z"));
  260.  
  261.       for(int var13 = 26; var13 < 51; ++var13) {
  262.          var8[var13] = var8[var13].toUpperCase();
  263.       }
  264.  
  265.       for(int var14 = 0; var14 < var11.length(); ++var14) {
  266.          switch (var11.charAt(var14)) {
  267.             case 'A':
  268.                var9 = var9 + var8[26];
  269.                break;
  270.             case 'B':
  271.                var9 = var9 + var8[27];
  272.                break;
  273.             case 'C':
  274.                var9 = var9 + var8[28];
  275.                break;
  276.             case 'D':
  277.                var9 = var9 + var8[29];
  278.                break;
  279.             case 'E':
  280.                var9 = var9 + var8[30];
  281.                break;
  282.             case 'F':
  283.                var9 = var9 + var8[31];
  284.                break;
  285.             case 'G':
  286.                var9 = var9 + var8[32];
  287.                break;
  288.             case 'H':
  289.                var9 = var9 + var8[33];
  290.                break;
  291.             case 'I':
  292.                var9 = var9 + var8[34];
  293.                break;
  294.             case 'J':
  295.                var9 = var9 + var8[35];
  296.                break;
  297.             case 'K':
  298.                var9 = var9 + var8[36];
  299.                break;
  300.             case 'L':
  301.                var9 = var9 + var8[37];
  302.                break;
  303.             case 'M':
  304.                var9 = var9 + var8[38];
  305.                break;
  306.             case 'N':
  307.                var9 = var9 + var8[39];
  308.                break;
  309.             case 'O':
  310.                var9 = var9 + var8[40];
  311.                break;
  312.             case 'P':
  313.                var9 = var9 + var8[41];
  314.                break;
  315.             case 'Q':
  316.                var9 = var9 + var8[42];
  317.                break;
  318.             case 'R':
  319.                var9 = var9 + var8[43];
  320.                break;
  321.             case 'S':
  322.                var9 = var9 + var8[44];
  323.                break;
  324.             case 'T':
  325.                var9 = var9 + var8[45];
  326.                break;
  327.             case 'U':
  328.                var9 = var9 + var8[46];
  329.                break;
  330.             case 'V':
  331.                var9 = var9 + var8[47];
  332.                break;
  333.             case 'W':
  334.                var9 = var9 + var8[48];
  335.                break;
  336.             case 'X':
  337.                var9 = var9 + var8[49];
  338.                break;
  339.             case 'Y':
  340.                var9 = var9 + var8[50];
  341.                break;
  342.             case 'Z':
  343.                var9 = var9 + var8[51];
  344.                break;
  345.             case '[':
  346.             case '\\':
  347.             case ']':
  348.             case '^':
  349.             case '_':
  350.             case '`':
  351.             default:
  352.                var9 = var9 + var11.charAt(var14);
  353.                break;
  354.             case 'a':
  355.                var9 = var9 + var8[0];
  356.                break;
  357.             case 'b':
  358.                var9 = var9 + var8[1];
  359.                break;
  360.             case 'c':
  361.                var9 = var9 + var8[2];
  362.                break;
  363.             case 'd':
  364.                var9 = var9 + var8[3];
  365.                break;
  366.             case 'e':
  367.                var9 = var9 + var8[4];
  368.                break;
  369.             case 'f':
  370.                var9 = var9 + var8[5];
  371.                break;
  372.             case 'g':
  373.                var9 = var9 + var8[6];
  374.                break;
  375.             case 'h':
  376.                var9 = var9 + var8[7];
  377.                break;
  378.             case 'i':
  379.                var9 = var9 + var8[8];
  380.                break;
  381.             case 'j':
  382.                var9 = var9 + var8[9];
  383.                break;
  384.             case 'k':
  385.                var9 = var9 + var8[10];
  386.                break;
  387.             case 'l':
  388.                var9 = var9 + var8[11];
  389.                break;
  390.             case 'm':
  391.                var9 = var9 + var8[12];
  392.                break;
  393.             case 'n':
  394.                var9 = var9 + var8[13];
  395.                break;
  396.             case 'o':
  397.                var9 = var9 + var8[14];
  398.                break;
  399.             case 'p':
  400.                var9 = var9 + var8[15];
  401.                break;
  402.             case 'q':
  403.                var9 = var9 + var8[16];
  404.                break;
  405.             case 'r':
  406.                var9 = var9 + var8[17];
  407.                break;
  408.             case 's':
  409.                var9 = var9 + var8[18];
  410.                break;
  411.             case 't':
  412.                var9 = var9 + var8[19];
  413.                break;
  414.             case 'u':
  415.                var9 = var9 + var8[20];
  416.                break;
  417.             case 'v':
  418.                var9 = var9 + var8[21];
  419.                break;
  420.             case 'w':
  421.                var9 = var9 + var8[22];
  422.                break;
  423.             case 'x':
  424.                var9 = var9 + var8[23];
  425.                break;
  426.             case 'y':
  427.                var9 = var9 + var8[24];
  428.                break;
  429.             case 'z':
  430.                var9 = var9 + var8[25];
  431.          }
  432.       }
  433.  
  434.       if (var7) {
  435.          this.username[var2] = var9.substring(0, var3);
  436.          this.password[var2] = var9.substring(var3, var3 + var4);
  437.          this.urls[var2] = var9.substring(var3 + var4, var3 + var4 + var5);
  438.          this.frames[var2] = var9.substring(var3 + var4 + var5, var9.length());
  439.       } else {
  440.          this.linkURL = var9;
  441.       }
  442.    }
  443. }
  444.