home *** CD-ROM | disk | FTP | other *** search
- import Acme.Crypto.CryptoUtils;
- import Acme.Crypto.Hash;
- import Acme.Crypto.ShaHash;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dialog;
- import java.awt.Dimension;
- import java.awt.Toolkit;
- import java.awt.Window;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.EventObject;
- import java.util.Hashtable;
- import java.util.Properties;
- import javax.swing.JButton;
- import javax.swing.JDialog;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import jclass.bwt.JCAlignerLayout;
-
- public class Register extends JDialog implements ActionListener {
- static String hashModifier = "ver1";
- static String fileName = "xmlpro.prp";
- static String timeName = "runtime.prp";
- static String regName;
- static String regCode;
- static String regComp;
- long regTime;
- JTextField nameEntry;
- JTextField codeEntry;
- JTextField compEntry;
- boolean cancelled = false;
- JButton cancel;
- // $FF: renamed from: ok javax.swing.JButton
- JButton field_0;
- JFrame frm;
-
- Register(JFrame var1) {
- super(var1, "Register XML Pro", true);
- this.frm = var1;
- ((Component)this).setBackground(Color.lightGray);
- ((Component)this).setSize(300, 175);
- this.centerOnScreen();
- ((Dialog)this).setResizable(false);
- StubPanel var2 = new StubPanel();
- JPanel var3 = new JPanel();
- JPanel var4 = new JPanel();
- ((JDialog)this).getContentPane().setLayout(new BorderLayout());
- ((JDialog)this).getContentPane().add("Center", var2);
- ((Container)var3).setLayout(new JCAlignerLayout());
- ((Container)var3).add(new JLabel("Name", 2));
- this.nameEntry = new JTextField(20);
- ((Container)var3).add(this.nameEntry);
- ((Container)var3).add(new JLabel("Company", 2));
- this.compEntry = new JTextField(20);
- ((Container)var3).add(this.compEntry);
- ((Container)var3).add(new JLabel("Registration Code", 2));
- this.codeEntry = new JTextField(12);
- ((Container)var3).add(this.codeEntry);
- ((Container)var2).setLayout(new BorderLayout());
- ((Container)var2).add("Center", var3);
- ((Container)var4).add(this.field_0 = new JButton(" OK "));
- ((Container)var4).add(this.cancel = new JButton("Cancel"));
- ((Container)var2).add("South", var4);
- this.field_0.addActionListener(this);
- this.cancel.addActionListener(this);
- this.nameEntry.requestFocus();
- }
-
- public void actionPerformed(ActionEvent var1) {
- if (((EventObject)var1).getSource() == this.cancel) {
- this.cancelled = true;
- ((Window)this).dispose();
- } else {
- regName = this.nameEntry.getText();
- regCode = this.codeEntry.getText();
- regComp = this.compEntry.getText();
- Properties var2 = new Properties();
- if (regName.length() > 0 && regCode.length() > 0) {
- String var4 = generateCode(regName);
- if (var4.equals(regCode)) {
- ((Hashtable)var2).put("regname", regName);
- ((Hashtable)var2).put("regcode", regCode);
- ((Hashtable)var2).put("regcomp", regComp);
-
- try {
- FileOutputStream var3 = new FileOutputStream(fileName);
- var2.save(var3, "RegInfo");
- var3.close();
- } catch (Exception var6) {
- MesgBox var5 = new MesgBox(this.frm, Strings.ErrorWritingRegInfo);
- ((Dialog)var5).show();
- }
-
- ((Window)this).dispose();
- } else {
- MesgBox var7 = new MesgBox(this.frm, "Invalid Registration Code");
- ((Dialog)var7).show();
- }
- }
-
- }
- }
-
- protected void centerOnScreen() {
- Dimension var1 = Toolkit.getDefaultToolkit().getScreenSize();
- Dimension var2 = ((Component)this).getSize();
- ((Component)this).setLocation((var1.width - var2.width) / 2, (var1.height - var2.height) / 2);
- }
-
- static boolean checkRegistered() {
- Properties var0 = new Properties();
-
- try {
- FileInputStream var1 = new FileInputStream(fileName);
- var0.load(var1);
- regName = var0.getProperty("regname");
- regComp = var0.getProperty("regcomp");
- regCode = var0.getProperty("regcode");
- var1.close();
- } catch (FileNotFoundException var3) {
- return false;
- } catch (IOException var4) {
- return false;
- }
-
- if (regName.equals("")) {
- return false;
- } else {
- String var2 = generateCode(regName);
- return !regCode.equals("") && regCode.equals(var2);
- }
- }
-
- static boolean checkTimeout(XMLPro var0) {
- long var1 = System.currentTimeMillis() / 1000L;
-
- long var3;
- try {
- Properties var11 = new Properties();
- FileInputStream var13 = new FileInputStream(timeName);
- var11.load(var13);
- var3 = new Long(var11.getProperty("regtime"));
- var13.close();
- } catch (FileNotFoundException var9) {
- Properties var5 = new Properties();
- ((Hashtable)var5).put("regtime", (new Long(var1)).toString());
-
- try {
- FileOutputStream var6 = new FileOutputStream(timeName);
- var5.save(var6, "TimeInfo");
- var6.close();
- return true;
- } catch (Exception var8) {
- MesgBox var7 = new MesgBox(var0, Strings.ErrorWritingRegInfo);
- ((Dialog)var7).show();
- return false;
- }
- } catch (IOException var10) {
- return false;
- }
-
- long var12 = 2592000L;
- if (var1 - var3 > var12) {
- MesgBox var14 = new MesgBox(var0, "Evaluation License Has Expired");
- ((Dialog)var14).show();
- return false;
- } else {
- return true;
- }
- }
-
- static String generateCode(String var0) {
- String var1 = var0 + hashModifier;
- ShaHash var2 = new ShaHash();
- ((Hash)var2).addASCII(var1);
- byte[] var3 = ((Hash)var2).get();
- return CryptoUtils.toStringBlock(var3).substring(1, 13).toUpperCase();
- }
- }
-