home *** CD-ROM | disk | FTP | other *** search
- package netscape.netcast.application;
-
- import java.applet.Applet;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Enumeration;
- import java.util.MissingResourceException;
- import java.util.ResourceBundle;
- import java.util.Vector;
- import netscape.javascript.JSObject;
- import netscape.netcast.NSCastanetWorkspace;
- import netscape.security.ForbiddenTargetException;
- import netscape.security.PrivilegeManager;
- import netscape.security.Target;
-
- public class ConstPR4 extends Applet {
- Const constManager;
- JSObject win;
- boolean securityDenied = false;
- static boolean bClosing;
-
- public ConstPR4() {
- PrivilegeManager var1 = PrivilegeManager.getPrivilegeManager();
- if (var1 != null) {
- Target var2 = Target.findTarget("MarimbaInternalTarget");
- if (var2 != null) {
- try {
- var1.enablePrivilege(var2);
- } catch (SecurityException var3) {
- this.securityDenied = true;
- return;
- } catch (ForbiddenTargetException var4) {
- this.securityDenied = true;
- return;
- }
- }
- }
-
- new MConstants();
- }
-
- public void start() {
- this.win = JSObject.getWindow(this);
- if (this.securityDenied) {
- String[] var3 = new String[]{""};
- this.win.call("handleSecurityException", var3);
- } else {
- try {
- this.constManager = new Const(this);
- } catch (Exception var2) {
- ((Throwable)var2).printStackTrace();
- }
-
- this.constManager.checkCastanetChannels();
- String[] var1 = new String[]{""};
- this.win.call("setAppletReady", var1);
- NSCastanetWorkspace.executeScheduledEvents();
- }
- }
-
- public void stop() {
- }
-
- public String getLocalString(String var1) {
- ResourceBundle var2 = ResourceBundle.getBundle("netscape.netcast.application.NetcasterStrings");
- String var3 = null;
-
- try {
- var3 = var2.getString(var1);
- } catch (MissingResourceException var4) {
- System.out.println("Can't find localized string: " + var1);
- }
-
- return var3;
- }
-
- public String getEncodedName(String var1) {
- int var3 = var1.length();
- StringBuffer var5 = new StringBuffer(var1);
-
- for(int var2 = 0; var2 < var3; ++var2) {
- char var4 = var5.charAt(var2);
- if (!Character.isLetterOrDigit(var4) || Character.getNumericValue(var4) > 255 || Character.getNumericValue(var4) < 0) {
- var5.setCharAt(var2, '_');
- }
- }
-
- return var5.toString();
- }
-
- public String getEncodedName(String var1, String var2) {
- String var3 = this.getEncodedName(var1);
- String var4 = var3;
- CategoryData var6 = Const.getData();
- boolean var7 = true;
- int var8 = 1;
- if (var6 != null) {
- CategoryData var5 = var6.FindContainer(var2);
- if (var5 != null) {
- do {
- if (var5.findItemByName(var4) != null) {
- var4 = var3 + var8++;
- var7 = false;
- } else {
- var7 = true;
- }
- } while(!var7);
- }
- }
-
- return var4;
- }
-
- public String unEncodeName(String var1) {
- int var3 = var1.length();
- StringBuffer var5 = new StringBuffer(var3);
-
- for(int var2 = 0; var2 < var3; ++var2) {
- char var4 = var1.charAt(var2);
- if (var4 != '_') {
- var5.append(var4);
- } else {
- var5.append(' ');
- }
- }
-
- return var5.toString();
- }
-
- public String getValidURL(String var1) {
- String var2 = null;
- boolean var3 = false;
- var1 = var1.trim();
- if (var1.length() <= 0) {
- System.out.println("Empty content");
- return null;
- } else {
- do {
- var3 = false;
-
- try {
- URL var10 = new URL(var1);
- var2 = var10.getProtocol() + ":";
- } catch (MalformedURLException var6) {
- int var4 = 0;
- int var5 = 0;
- if ((var4 = var1.indexOf(58)) != -1 && ((var5 = var1.indexOf(47)) == -1 || var4 < var5)) {
- var2 = var1.substring(0, var4).toLowerCase();
- }
-
- if (var2 != null) {
- if (!var2.equalsIgnoreCase("castanet:") && !var2.equalsIgnoreCase("about:")) {
- return null;
- }
-
- return var1;
- }
-
- var1 = "http://" + var1;
- var3 = true;
- }
- } while(var3);
-
- if (var2.equalsIgnoreCase("http:") && var1.toLowerCase().endsWith("?start")) {
- System.out.println("Converting HTTP Castanet URL to castanet:");
- var1 = "castanet" + var1.substring(4);
- }
-
- return var1;
- }
- }
-
- public String getNetcasterVersion() {
- return Const.VERSION_STRING;
- }
-
- public boolean validateTimeString(String var1) {
- int var3 = var1.length();
-
- for(int var2 = 0; var2 < var3; ++var2) {
- char var4 = var1.charAt(var2);
- if ((var4 < '0' || var4 > '9') && var4 != ':' && var4 != ' ') {
- return false;
- }
- }
-
- return true;
- }
-
- public String getHour(String var1) {
- int var2 = var1.indexOf(":");
- return var2 == -1 ? var1 : var1.substring(0, var2);
- }
-
- public String getMinute(String var1) {
- int var2 = var1.indexOf(":");
- if (var2 == -1) {
- String var4 = new String("0");
- return var4;
- } else {
- String var3 = var1.substring(var2 + 1, var1.length());
- return var3.startsWith("0") ? var3.substring(1, var3.length()) : var3;
- }
- }
-
- public DataItem newDataItem(String var1) {
- String var2 = this.getValidURL(var1);
- if (var2 == null) {
- return null;
- } else if (var2.toLowerCase().startsWith("castanet:")) {
- return new CastanetDataItem(var2, this);
- } else {
- SiteData var3 = new SiteData(this);
- ((DataItem)var3).setURL(var2);
- return var3;
- }
- }
-
- public void openAllCaches() {
- if (this.constManager != null) {
- this.constManager.openAllCaches();
- }
-
- }
-
- public boolean isSelectorReady() {
- try {
- CategoryData var1 = Const.getData();
- if (var1 != null) {
- return var1.allReady();
- }
- } catch (Exception var2) {
- ((Throwable)var2).printStackTrace();
- }
-
- return false;
- }
-
- public boolean isInDebug() {
- return DebugManager.isInDebug();
- }
-
- public Boolean isOnline() {
- if (this.constManager.ws != null) {
- return new Boolean(this.constManager.ws.getEnvironment().networkEnabled());
- } else {
- JSObject var1 = JSObject.getWindow(this);
- return (Boolean)var1.eval("getPrefOnline();");
- }
- }
-
- public void createSelectorView() {
- try {
- CategoryData var1 = Const.getData();
- if (var1 != null) {
- var1.createViews();
- return;
- }
- } catch (Exception var2) {
- ((Throwable)var2).printStackTrace();
- }
-
- }
-
- public void OpenWebtop(String var1) {
- String[] var2 = new String[]{""};
- this.constManager.openAllCaches();
- var2[0] = var1;
- this.win.call("OpenWebtop", var2);
- }
-
- public void openCastanetURL(String var1) {
- this.constManager.openCastanetURL(var1);
- }
-
- public Boolean close() {
- bClosing = true;
- return this.constManager != null ? this.constManager.close() : Boolean.TRUE;
- }
-
- public DataItem[] getData(String var1) {
- DataItem[] var2 = null;
- int var3 = 0;
-
- try {
- CategoryData var4 = Const.getData();
- if (var4 != null) {
- CategoryData var5 = var4.FindContainer(var1);
- if (var5 != null) {
- Vector var6 = var5.getVector();
- if (var6.size() > 0) {
- var2 = new DataItem[var6.size()];
-
- for(Enumeration var7 = var6.elements(); var7.hasMoreElements(); var2[var3++] = (DataItem)var7.nextElement()) {
- }
- } else {
- var2 = null;
- }
- }
- }
- } catch (Exception var8) {
- }
-
- return var2;
- }
-
- public CategoryData findContainerByName(String var1) {
- try {
- CategoryData var2 = Const.getData();
- if (var2 != null) {
- return var2.FindContainer(var1);
- }
- } catch (Exception var3) {
- }
-
- return null;
- }
-
- public void AddChannel(JSObject var1) {
- JSObject[] var2 = new JSObject[]{var1};
- this.win.call("AddChannel", var2);
- }
-
- public void AddInfoblock(JSObject var1) {
- JSObject[] var2 = new JSObject[]{var1};
- this.win.call("AddInfoblock", var2);
- }
-
- public void AddNewCastanetChannel(String var1, String[] var2) {
- String[] var3 = new String[]{""};
- CastanetDataItem var4 = Const.selectorData.findCastanetChannel(var1);
- if (var4 != null) {
- var4.channel.start(var2);
- } else {
- var3[0] = var1;
- this.win.call("AddNewCastanetChannel", var3);
- }
- }
-
- public void addItem(DataItem var1, String var2) {
- try {
- this.constManager.addItem(var1, var2);
- } catch (ConstException var4) {
- ((Throwable)var4).printStackTrace();
- }
- }
-
- public DataItem FindItemByPrefKey(String var1) {
- return this.constManager.FindItemByPrefKey(var1);
- }
-
- public DataItem findItemByName(String var1) {
- return this.constManager.findItemByName(var1);
- }
- }
-