home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Color;
- import java.io.DataInputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FilterInputStream;
- import java.io.IOException;
- import java.util.Vector;
-
- final class RHTML {
- private String curRawPage;
- boolean goodPage = true;
- int numTags = 0;
- String[] TagValues;
- int[] tagSettings;
- int tagAlignment = 0;
- boolean useTagCoords = false;
- private File cur_url;
- private String temp_value = "";
- String pageTitle = "OpenCube - Web Window Browser";
- Color pageColor = null;
- Color pageLinkColor = null;
- Color pageHLColor = null;
- Color pageTextColor = null;
- int pageLeftMargin = 0;
- int pageTopMargin = 0;
- int pageTransition = 0;
- Color def_pageColor;
- Color def_pageLinkColor;
- Color def_pageHLColor;
- Color def_pageTextColor;
-
- private boolean CTag(String var1, String var2, int var3, String var4, int var5) {
- if (var3 + var1.length() >= var5) {
- return false;
- } else {
- return var2.substring(var3 + 1, var3 + var1.length() + 1).equalsIgnoreCase(var1);
- }
- }
-
- public RHTML(String var1, Color var2, Color var3, Color var4, Color var5) {
- this.def_pageColor = Color.white;
- this.def_pageLinkColor = Color.blue;
- this.def_pageHLColor = Color.red;
- this.def_pageTextColor = Color.black;
- this.def_pageColor = var2;
- this.def_pageLinkColor = var3;
- this.def_pageHLColor = var4;
- this.def_pageTextColor = var5;
- this.cur_url = new File(var1);
- this.ReadFile();
- }
-
- private void parseIt() {
- Vector var1 = new Vector();
- Vector var2 = new Vector();
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- String var7 = this.curRawPage.toLowerCase();
- String var8 = "0";
-
- while(var3 != -1) {
- var3 = this.curRawPage.indexOf("<p", var6);
- if (var3 == -1) {
- var3 = this.curRawPage.indexOf("<P", var6);
- }
-
- if (var3 != -1) {
- var4 = this.curRawPage.indexOf(62, var3 + 1);
- if (var4 != -1) {
- String var9 = this.curRawPage.substring(var3, var4);
- var8 = vInTag.GetInternalTagValue("align", var9, 3, false);
- if (this.CTag("body", this.curRawPage, var3, "1", var4)) {
- this.curRawPage.substring(var3, var4);
- }
-
- if ((var5 = var7.indexOf("</p>", var4)) != -1) {
- var1.addElement(LoParse.IgnoreSpaceTypes(this.curRawPage.substring(var4 + 1, var5)));
- String var10 = "0";
- if (var8.equalsIgnoreCase("right")) {
- var10 = "2";
- } else if (var8.equalsIgnoreCase("center")) {
- var10 = "1";
- }
-
- var2.addElement(var10);
- var8 = "";
- ++this.numTags;
- var6 = var5;
- } else {
- var6 = var3 + 1;
- }
- } else {
- var6 = var3 + 1;
- }
- }
- }
-
- this.TagValues = new String[var1.size()];
- var1.copyInto(this.TagValues);
- this.tagSettings = new int[var2.size()];
- String[] var15 = new String[var2.size()];
- var2.copyInto(var15);
-
- for(int var16 = 0; var16 < var2.size(); ++var16) {
- this.tagSettings[var16] = Integer.parseInt(var15[var16]);
- }
-
- this.curRawPage = null;
- }
-
- private void ReadFile() {
- try {
- FileInputStream var3 = new FileInputStream(this.cur_url);
-
- DataInputStream var1;
- String var2;
- for(var1 = new DataInputStream(var3); (var2 = var1.readLine()) != null; this.curRawPage = this.curRawPage + var2 + " ") {
- }
-
- ((FilterInputStream)var1).close();
- } catch (IOException var5) {
- this.goodPage = false;
- return;
- }
-
- this.pageTitle = LoParse.GetBetweenTags(this.curRawPage, "<title>", "</title>").trim();
- this.curRawPage = LoParse.DelUnwanted(this.curRawPage, "&", "&");
- this.curRawPage = LoParse.DelUnwanted(this.curRawPage, " ", " ");
- this.curRawPage = LoParse.DelUnwanted(this.curRawPage, """, (new Character('"')).toString());
- String var6 = LoParse.GetBetweenTags(this.curRawPage, "<body", ">");
- Object var4 = null;
- if (var6.length() < 3) {
- this.pageColor = this.def_pageColor;
- this.pageLinkColor = this.def_pageLinkColor;
- this.pageHLColor = this.def_pageHLColor;
- this.pageTextColor = this.def_pageTextColor;
- } else {
- String var7 = vInTag.GetInternalTagValue("bgcolor", var6, 1, false);
- if (var7.equals("-1")) {
- this.pageColor = this.def_pageColor;
- } else {
- this.pageColor = new Color(Integer.parseInt(var7, 16));
- }
-
- var7 = vInTag.GetInternalTagValue("text", var6, 1, false);
- if (var7.equals("-1")) {
- this.pageTextColor = this.def_pageTextColor;
- } else {
- this.pageTextColor = new Color(Integer.parseInt(var7, 16));
- }
-
- var7 = vInTag.GetInternalTagValue("link", var6, 1, false);
- if (var7.equals("-1")) {
- this.pageLinkColor = this.def_pageLinkColor;
- } else {
- this.pageLinkColor = new Color(Integer.parseInt(var7, 16));
- }
-
- var7 = vInTag.GetInternalTagValue("hlcolor", var6, 1, false);
- if (var7.equals("-1")) {
- this.pageHLColor = this.def_pageHLColor;
- } else {
- this.pageHLColor = new Color(Integer.parseInt(var7, 16));
- }
-
- var7 = vInTag.GetInternalTagValue("leftmargin", var6, 2, false);
- if (var7.equals("-1")) {
- this.pageLeftMargin = 0;
- } else {
- this.pageLeftMargin = Integer.parseInt(var7);
- }
-
- var7 = vInTag.GetInternalTagValue("topmargin", var6, 2, false);
- if (var7.equals("-1")) {
- this.pageTopMargin = 0;
- } else {
- this.pageTopMargin = Integer.parseInt(var7);
- }
-
- var7 = vInTag.GetInternalTagValue("transition", var6, 2, false);
- if (var7.equals("-1")) {
- this.pageTransition = 0;
- } else {
- this.pageTransition = Integer.parseInt(var7);
- }
- }
-
- this.parseIt();
- }
- }
-