home *** CD-ROM | disk | FTP | other *** search
- package netscape.netcast.application;
-
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.EOFException;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.FilterOutputStream;
- import java.io.IOException;
- import java.net.URL;
- import java.text.DateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Enumeration;
- import java.util.zip.ZipEntry;
- import java.util.zip.ZipFile;
- import netscape.javascript.JSObject;
- import netscape.security.PrivilegeManager;
-
- public class NetcasterConfig {
- private static String VERSION_STRING = "1.0";
- private File adminCacheJAR;
- private File archiveDir;
- private Const parent;
- private String installDir;
- private int platform;
-
- public NetcasterConfig(Const var1) {
- this.parent = var1;
- }
-
- public boolean netcasterExpired() {
- Date var1 = new Date();
- Date var2 = new Date(99, 11, 31);
- PrivilegeManager.enablePrivilege("Netcaster");
- if (var1.after(var2)) {
- JSObject var7 = JSObject.getWindow(this.parent.applet);
- System.out.println("This version of Netcaster has expired");
- var7.eval("showExpiration()");
- return true;
- } else {
- Calendar var3 = Calendar.getInstance();
- var3.setTime(var2);
- DateFormat var4 = DateFormat.getDateInstance();
- var4.setCalendar(var3);
- String var5 = var4.format(var3.getTime());
- var3.add(5, -14);
- if (var1.after(var3.getTime())) {
- JSObject var6 = JSObject.getWindow(this.parent.applet);
- System.out.println("Warning: This version of Netcaster will expire on " + var5);
- var6.eval("whineExpiration('" + var5 + "')");
- }
-
- return false;
- }
- }
-
- public void run() {
- if (this.getArchiveDir()) {
- JSObject var1 = JSObject.getWindow(this.parent.applet);
- var1.eval("showSplashText(3);");
- String var2 = NCPrefsManager.GetData("netcaster.version", (String)null);
- NCPrefsManager.SaveData("netcaster.version", VERSION_STRING);
- Const.SetVersionString(VERSION_STRING);
- if (var2 != null && var2.equals(VERSION_STRING)) {
- var1.eval("showSplashText(5);");
- String var3 = NCPrefsManager.GetData("netcaster.defaultChannel", "");
- if (System.getProperty("os.name").startsWith("Win") && var3.equals("(T:C++ Font CVS:1.14)")) {
- NCPrefsManager.SaveData("netcaster.defaultChannel", "Netscape_Channel");
- }
-
- } else if (!this.getAdminCacheJAR()) {
- var1.eval("showSplashText(5);");
- } else {
- if (var2 == null) {
- DebugManager.println("NetcasterConfigurator::firstRun version = " + var2);
- if (this.platform != 3) {
- this.showAnimation();
- }
-
- this.addDefaultChannel();
- }
-
- this.upgrade(var2);
- var1.eval("showSplashText(5);");
- }
- }
- }
-
- public void showAnimation() {
- JSObject var1 = JSObject.getWindow(this.parent.applet);
- String var2 = this.installDir + "ncstart" + File.separator + "ncstart.htm";
- String var3 = var2.replace('\\', '/');
- var3 = var3.replace(':', '|');
- var1.eval("showAnimation('" + var3 + "')");
- }
-
- private void addDefaultChannel() {
- int var1 = Integer.parseInt(NCPrefsManager.GetData("netcaster.channel.count", "0"));
- String[] var2 = new String[18];
- String[] var3 = new String[18];
- var2[0] = "netcaster.channel.count";
- StringBuffer var10002 = (new StringBuffer()).append("");
- ++var1;
- var3[0] = var10002.append(var1).toString();
- var2[1] = "netcaster.channel.channel_" + var1;
- var3[1] = "Netscape_Channel";
- var2[2] = "netcaster.channel.Netscape_Channel.url";
- var3[2] = "http://netcaster.de.netscape.com/de/channel/index.html";
- var2[3] = "netcaster.channel.Netscape_Channel.description";
- var3[3] = "Netscape-Kanal";
- var2[4] = "netcaster.channel.Netscape_Channel.mode";
- if (this.platform == 3) {
- var3[4] = "webtop";
- } else {
- var3[4] = "full";
- }
-
- var2[5] = "netcaster.channel.Netscape_Channel.lastUpdate";
- var3[5] = "0";
- var2[6] = "netcaster.channel.Netscape_Channel.type";
- var3[6] = "1";
- var2[7] = "netcaster.channel.Netscape_Channel.name";
- var3[7] = "Netscape-Kanal";
- var2[8] = "netcaster.channel.Netscape_Channel.updateFrequency";
- var3[8] = "1440";
- var2[9] = "netcaster.channel.Netscape_Channel.updateTime";
- var3[9] = "-1";
- var2[10] = "netcaster.channel.Netscape_Channel.cacheName";
- var3[10] = "Netscape-Kanal";
- var2[11] = "netcaster.channel.Netscape_Channel.cacheFilename";
- var3[11] = "netscape.db";
- var2[12] = "netcaster.channel.Netscape_Channel.maxSize";
- var3[12] = "5120000";
- var2[13] = "netcaster.channel.Netscape_Channel.depth";
- var3[13] = "1";
- var2[14] = "netcaster.channel.Netscape_Channel.startTime";
- var3[14] = "0";
- var2[15] = "netcaster.channel.Netscape_Channel.endTime";
- var3[15] = "0";
- var2[16] = "netcaster.channel.Netscape_Channel.permissions";
- var3[16] = "" + 7L;
- var2[17] = "netcaster.defaultChannel";
- var3[17] = "(T:C++ Font CVS:1.14)";
- NCPrefsManager.SetBatchData(var2, var3);
- }
-
- private boolean upgrade(String var1) {
- boolean var2 = false;
- this.installAdminCache();
- if (var1 == null || var1.indexOf("1.0") == -1) {
- var2 = true;
- System.out.println("Upgrading from earlier version.");
- String var3 = NCPrefsManager.GetData("netcaster.containers.container_1", "");
- if (var3.length() == 0) {
- String[] var4 = new String[5];
- String[] var5 = new String[5];
- var4[0] = "netcaster.containers.container_1";
- var5[0] = "-3;finder;Kanal-Suchprogramm;'http://netcaster.de.netscape.com/de/finder/container/index.html'";
- var4[1] = "netcaster.containers.finder.permissions";
- var5[1] = "0";
- var4[2] = "netcaster.containers.container_2";
- var5[2] = "1;channel;Meine Kanäle;";
- var4[3] = "netcaster.containers.channel.permissions";
- var5[3] = "" + 24583L;
- var4[4] = "netcaster.defaultContainer";
- var5[4] = "channel";
- NCPrefsManager.SetBatchData(var4, var5);
- if (this.platform == 3) {
- NCPrefsManager.SaveData("netcaster.updateMax", "1");
- }
- }
- }
-
- return var2;
- }
-
- private void installAdminCache() {
- ZipFile var1 = null;
- DebugManager.println("NetcasterConfigurator::install");
- long var2 = 0L;
- JSObject var4 = JSObject.getWindow(this.parent.applet);
- var4.eval("showSplashText(4);");
- PrivilegeManager.enablePrivilege("UniversalFileAccess");
-
- try {
- var1 = new ZipFile(this.adminCacheJAR);
- } catch (IOException var11) {
- DebugManager.println("NetcasterConfigurator::install IOException thrown");
- ((Throwable)var11).printStackTrace();
- }
-
- Enumeration var5 = var1.entries();
-
- while(var5.hasMoreElements()) {
- ZipEntry var6 = (ZipEntry)var5.nextElement();
-
- try {
- File var7 = new File(this.archiveDir.toString() + File.separator + var6.getName());
- BufferedInputStream var8 = new BufferedInputStream(var1.getInputStream(var6), 512);
- BufferedOutputStream var9 = new BufferedOutputStream(new FileOutputStream(var7), 512);
-
- try {
- while(true) {
- int var10 = var8.read();
- if (var10 == -1) {
- ((FilterOutputStream)var9).close();
- throw new EOFException();
- }
-
- var9.write(var10);
- }
- } catch (EOFException var12) {
- var2 += var6.getSize();
- }
- } catch (IOException var13) {
- DebugManager.println("NetcasterConfigurator::install IOException thrown");
- ((Throwable)var13).printStackTrace();
- }
- }
-
- String[] var14 = new String[15];
- String[] var15 = new String[15];
- var14[0] = "netcaster.NetcasterAdmin.url";
- var15[0] = "http://netcaster.de.netscape.com/de/finder/container/index.html";
- var14[1] = "netcaster.NetcasterAdmin.description";
- var15[1] = "NetcasterOfflineAdminData";
- var14[2] = "netcaster.NetcasterAdmin.mode";
- var15[2] = "webtop";
- var14[3] = "netcaster.NetcasterAdmin.lastUpdate";
- var15[3] = "0";
- var14[4] = "netcaster.NetcasterAdmin.type";
- var15[4] = "1";
- var14[5] = "netcaster.NetcasterAdmin.name";
- var15[5] = "NetcasterAdmin";
- var14[6] = "netcaster.NetcasterAdmin.updateFrequency";
- var15[6] = "1440";
- var14[7] = "netcaster.NetcasterAdmin.updateTime";
- var15[7] = "-1";
- var14[8] = "netcaster.NetcasterAdmin.cacheName";
- var15[8] = "Netcaster Admin Cache";
- var14[9] = "netcaster.NetcasterAdmin.cacheFilename";
- var15[9] = "admin.db";
- var14[10] = "netcaster.NetcasterAdmin.maxSize";
- var15[10] = "50000000";
- var14[11] = "netcaster.NetcasterAdmin.depth";
- var15[11] = "1";
- var14[12] = "netcaster.NetcasterAdmin.startTime";
- var15[12] = "0";
- var14[13] = "netcaster.NetcasterAdmin.endTime";
- var15[13] = "0";
- var14[14] = "netcaster.NetcasterAdmin.permissions";
- var15[14] = "" + 1L;
- NCPrefsManager.SetBatchData(var14, var15);
- }
-
- private boolean getArchiveDir() {
- String var1 = NCPrefsManager.GetData("profile.directory", "ERROR");
- if (var1.compareTo("ERROR") == 0) {
- return false;
- } else {
- if (System.getProperty("os.name").startsWith("Mac")) {
- JSObject var3 = JSObject.getWindow(this.parent.applet);
- var1 = (String)var3.eval("unescape('" + var1 + "')");
- }
-
- String var2 = new String(var1 + File.separator + "archive");
- this.archiveDir = new File(var2);
- PrivilegeManager.enablePrivilege("UniversalFileRead");
- DebugManager.println("NetcasterConfigurator::getArchiveDir archiveDir = " + this.archiveDir.toString() + " exists = " + this.archiveDir.exists());
- return this.archiveDir.exists();
- }
- }
-
- private boolean getAdminCacheJAR() {
- URL var1 = this.parent.applet.getCodeBase();
- String var2 = System.getProperty("os.name");
- String var3 = var1.toString();
- if (var2.startsWith("Mac")) {
- this.installDir = var3.substring(5, var3.length());
- JSObject var4 = JSObject.getWindow(this.parent.applet);
- this.installDir = (String)var4.eval("unescape('" + this.installDir + "')");
- this.platform = 2;
- } else if (var2.startsWith("Win")) {
- this.installDir = var3.substring(6, var3.length());
- this.installDir = this.installDir.replace('|', ':');
- this.platform = 1;
- } else {
- this.installDir = var3.substring(5, var3.length());
- this.platform = 3;
- }
-
- PrivilegeManager.enablePrivilege("UniversalFileRead");
- this.adminCacheJAR = new File(this.installDir + "admin.jar");
- DebugManager.println("NetcasterConfigurator::getAdminCacheJAR adminCacheJAR = " + this.adminCacheJAR.toString() + " exists = " + this.adminCacheJAR.exists());
- return this.adminCacheJAR.exists();
- }
- }
-