741 |
10 Oct 06 |
olle |
1 |
/* |
1652 |
22 May 07 |
gregory |
$Id$ |
741 |
10 Oct 06 |
olle |
3 |
|
1916 |
31 Aug 07 |
jari |
Copyright (C) 2006 Olle Mansson |
1916 |
31 Aug 07 |
jari |
Copyright (C) 2007 Gregory Vincic |
741 |
10 Oct 06 |
olle |
6 |
|
1652 |
22 May 07 |
gregory |
This file is part of Proteios. |
1652 |
22 May 07 |
gregory |
Available at http://www.proteios.org/ |
741 |
10 Oct 06 |
olle |
9 |
|
1652 |
22 May 07 |
gregory |
Proteios is free software; you can redistribute it and/or modify it |
1652 |
22 May 07 |
gregory |
under the terms of the GNU General Public License as published by |
1652 |
22 May 07 |
gregory |
the Free Software Foundation; either version 2 of the License, or |
1652 |
22 May 07 |
gregory |
(at your option) any later version. |
741 |
10 Oct 06 |
olle |
14 |
|
1652 |
22 May 07 |
gregory |
Proteios is distributed in the hope that it will be useful, but |
1652 |
22 May 07 |
gregory |
WITHOUT ANY WARRANTY; without even the implied warranty of |
1652 |
22 May 07 |
gregory |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
1652 |
22 May 07 |
gregory |
General Public License for more details. |
741 |
10 Oct 06 |
olle |
19 |
|
1652 |
22 May 07 |
gregory |
You should have received a copy of the GNU General Public License |
1652 |
22 May 07 |
gregory |
along with this program; if not, write to the Free Software |
1652 |
22 May 07 |
gregory |
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
1652 |
22 May 07 |
gregory |
02111-1307, USA. |
1652 |
22 May 07 |
gregory |
24 |
*/ |
741 |
10 Oct 06 |
olle |
25 |
|
741 |
10 Oct 06 |
olle |
// Xerver Free Web Server |
741 |
10 Oct 06 |
olle |
// Copyright (C) 2002-2005 Omid Rouhani |
741 |
10 Oct 06 |
olle |
28 |
// |
741 |
10 Oct 06 |
olle |
29 |
// |
741 |
10 Oct 06 |
olle |
// This program is free software; you can redistribute it and/or |
741 |
10 Oct 06 |
olle |
// modify it under the terms of the GNU General Public License |
741 |
10 Oct 06 |
olle |
// as published by the Free Software Foundation; either version 2 |
741 |
10 Oct 06 |
olle |
// of the License, or (at your option) any later version. |
741 |
10 Oct 06 |
olle |
34 |
// |
741 |
10 Oct 06 |
olle |
// This program is distributed in the hope that it will be useful, |
741 |
10 Oct 06 |
olle |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
741 |
10 Oct 06 |
olle |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
741 |
10 Oct 06 |
olle |
// GNU General Public License for more details. |
741 |
10 Oct 06 |
olle |
39 |
// |
741 |
10 Oct 06 |
olle |
// You should have received a copy of the GNU General Public License |
741 |
10 Oct 06 |
olle |
// along with this program; if not, write to the Free Software |
741 |
10 Oct 06 |
olle |
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
741 |
10 Oct 06 |
olle |
43 |
// |
741 |
10 Oct 06 |
olle |
44 |
// |
741 |
10 Oct 06 |
olle |
45 |
// ############################################################# |
741 |
10 Oct 06 |
olle |
// ## YOU CAN CONTACT THE AUTHOR (OMID ROUHANI) AT: ## |
741 |
10 Oct 06 |
olle |
// ## HTTP://WWW.JAVASCRIPT.NU/XERVER/ ## |
741 |
10 Oct 06 |
olle |
48 |
// ## ## |
741 |
10 Oct 06 |
olle |
// ## IF YOUR SOFTWARE IS NOT RELEASED UNDER THE ## |
741 |
10 Oct 06 |
olle |
// ## GNU GENERAL PUBLIC LICENSE (GPL), ## |
741 |
10 Oct 06 |
olle |
// ## PLEASE DO NOT COPY ANYTHING FROM THIS SOURCE CODE!!! ## |
741 |
10 Oct 06 |
olle |
52 |
// ## ## |
741 |
10 Oct 06 |
olle |
// ## FOR FULL LICENSE, PLEASE READ "XERVER LICENSE". ## |
741 |
10 Oct 06 |
olle |
54 |
// ############################################################# |
741 |
10 Oct 06 |
olle |
55 |
|
1652 |
22 May 07 |
gregory |
56 |
package se.lu.thep.coreftpd.webserver; |
741 |
10 Oct 06 |
olle |
57 |
|
791 |
23 Oct 06 |
olle |
58 |
import se.lu.thep.coreftpd.common.MyString; |
741 |
10 Oct 06 |
olle |
59 |
import java.io.DataOutputStream; |
741 |
10 Oct 06 |
olle |
60 |
import java.io.File; |
741 |
10 Oct 06 |
olle |
61 |
import java.text.DateFormat; |
741 |
10 Oct 06 |
olle |
62 |
import java.util.Arrays; |
741 |
10 Oct 06 |
olle |
63 |
import java.util.Date; |
741 |
10 Oct 06 |
olle |
64 |
|
741 |
10 Oct 06 |
olle |
65 |
/** |
1652 |
22 May 07 |
gregory |
66 |
* |
1652 |
22 May 07 |
gregory |
* <B>How to use (example):</B> <BR> |
741 |
10 Oct 06 |
olle |
* <CODE>ShowSetupPages.showSetupWizStep5(theOutput, s_runnableExtensions);</CODE> |
741 |
10 Oct 06 |
olle |
* <BR> |
741 |
10 Oct 06 |
olle |
* <BR> |
1652 |
22 May 07 |
gregory |
* This class contains only static members. <BR> |
741 |
10 Oct 06 |
olle |
* Members in this class are called from <CODE>SetupNewConnection</CODE>. |
741 |
10 Oct 06 |
olle |
* <BR> |
1652 |
22 May 07 |
gregory |
* After a HTML-setup page is read and showed a member in this class is called, |
1652 |
22 May 07 |
gregory |
* which write a piece of JavaScript to the bottom of the HTML-page. <BR> |
1652 |
22 May 07 |
gregory |
* The JavaScript shows which the current settings are (for example: when you |
1652 |
22 May 07 |
gregory |
* load the setup page where you choose port number, a piece of JavaScript |
1652 |
22 May 07 |
gregory |
* changes the value in the "port number"-field to the port number that is used |
1652 |
22 May 07 |
gregory |
* (for example 5080)). <BR> |
1652 |
22 May 07 |
gregory |
* This class also contains members that show the "Welcome to Xerver Setup"-page |
1652 |
22 May 07 |
gregory |
* and similar pages. |
1652 |
22 May 07 |
gregory |
82 |
* |
741 |
10 Oct 06 |
olle |
* @author <a href="http://www.JavaScript.nu/xerver/" TARGET="_top">Omid Rouhani</a> |
741 |
10 Oct 06 |
olle |
* @version 1.0 |
741 |
10 Oct 06 |
olle |
85 |
*/ |
741 |
10 Oct 06 |
olle |
86 |
|
1652 |
22 May 07 |
gregory |
87 |
final public class ShowSetupPages { |
1652 |
22 May 07 |
gregory |
88 |
private static final boolean b_showErrors = false; |
741 |
10 Oct 06 |
olle |
89 |
|
1652 |
22 May 07 |
gregory |
90 |
static public void showWelcomePage(DataOutputStream os) { |
1652 |
22 May 07 |
gregory |
91 |
try { |
1652 |
22 May 07 |
gregory |
92 |
os.writeBytes("<HTML>"); |
1652 |
22 May 07 |
gregory |
93 |
os.writeBytes("<HEAD>"); |
1652 |
22 May 07 |
gregory |
94 |
os.writeBytes("<TITLE>Welcome to Xerver Setup!</TITLE>"); |
741 |
10 Oct 06 |
olle |
95 |
|
1652 |
22 May 07 |
gregory |
96 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
97 |
os.writeBytes("function openXerverSetup()"); |
1652 |
22 May 07 |
gregory |
98 |
os.writeBytes("{"); |
1652 |
22 May 07 |
gregory |
99 |
os |
1652 |
22 May 07 |
gregory |
100 |
.writeBytes(" addDirWindow=window.open(\"/action=wizardFrames\",\"XerverSetup\",\"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=630,height=465\");"); |
1652 |
22 May 07 |
gregory |
101 |
os.writeBytes(" addDirWindow.focus();"); |
1652 |
22 May 07 |
gregory |
102 |
os.writeBytes("}"); |
1652 |
22 May 07 |
gregory |
103 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
104 |
os.writeBytes("</HEAD>"); |
1652 |
22 May 07 |
gregory |
105 |
os.writeBytes("<BODY BGCOLOR=white TEXT=black>"); |
1652 |
22 May 07 |
gregory |
106 |
os.writeBytes("<TABLE WIDTH='500' BORDER='0'>"); |
1652 |
22 May 07 |
gregory |
107 |
os.writeBytes("<TR><TD>"); |
1652 |
22 May 07 |
gregory |
108 |
os.writeBytes("<CENTER>"); |
1652 |
22 May 07 |
gregory |
109 |
os.writeBytes("<A HREF=\"javascript:openXerverSetup()\">"); |
1652 |
22 May 07 |
gregory |
110 |
os |
1652 |
22 May 07 |
gregory |
111 |
.writeBytes("<IMG SRC='?action=showLogo' BORDER=0 ALT=\"Xerver Logo\">"); |
1652 |
22 May 07 |
gregory |
112 |
os.writeBytes("</A>"); |
1652 |
22 May 07 |
gregory |
113 |
os.writeBytes("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>"); |
1652 |
22 May 07 |
gregory |
114 |
os.writeBytes("<TR><TD VALIGN=top>"); |
1652 |
22 May 07 |
gregory |
115 |
os.writeBytes("<CENTER>"); |
1652 |
22 May 07 |
gregory |
116 |
os |
1652 |
22 May 07 |
gregory |
117 |
.writeBytes("<A HREF=\"javascript:openXerverSetup()\" STYLE=\"text-decoration:none;\">"); |
1652 |
22 May 07 |
gregory |
118 |
os |
1652 |
22 May 07 |
gregory |
119 |
.writeBytes("<FONT FACE='arial,verdana' SIZE='+2'><B>Start Setup</B></FONT>"); |
1652 |
22 May 07 |
gregory |
120 |
os.writeBytes("</A>"); |
1652 |
22 May 07 |
gregory |
121 |
os.writeBytes("</CENTER>"); |
1652 |
22 May 07 |
gregory |
122 |
os.writeBytes("<BR><BR><BR>"); |
1652 |
22 May 07 |
gregory |
123 |
os.writeBytes("<FONT FACE='arial,verdana' SIZE='-1'>"); |
1652 |
22 May 07 |
gregory |
124 |
os.writeBytes("<B>"); |
1652 |
22 May 07 |
gregory |
125 |
os.writeBytes("Xerver Wizard will guide you<BR>"); |
1652 |
22 May 07 |
gregory |
126 |
os.writeBytes("through this setup program.<P>"); |
1652 |
22 May 07 |
gregory |
127 |
os.writeBytes("</B>"); |
1652 |
22 May 07 |
gregory |
128 |
os.writeBytes("</TD><TD>"); |
1652 |
22 May 07 |
gregory |
129 |
os.writeBytes("<A HREF=\"javascript:openXerverSetup()\">"); |
1652 |
22 May 07 |
gregory |
130 |
os |
1652 |
22 May 07 |
gregory |
131 |
.writeBytes("<IMG SRC=\"?action=showBigWizard\" BORDER=0 ALT=\"Xerver Wizard\">"); |
1652 |
22 May 07 |
gregory |
132 |
os.writeBytes("</A>"); |
1652 |
22 May 07 |
gregory |
133 |
os.writeBytes("</FONT>"); |
1652 |
22 May 07 |
gregory |
134 |
os.writeBytes("</TD></TR>"); |
1652 |
22 May 07 |
gregory |
135 |
os.writeBytes("</TABLE>"); |
1652 |
22 May 07 |
gregory |
136 |
os.writeBytes("</CENTER>"); |
1652 |
22 May 07 |
gregory |
137 |
os.writeBytes("</TD></TR>"); |
1652 |
22 May 07 |
gregory |
138 |
os.writeBytes("</TABLE>"); |
1652 |
22 May 07 |
gregory |
139 |
os.writeBytes("</BODY>"); |
1652 |
22 May 07 |
gregory |
140 |
os.writeBytes("</HTML>"); |
1652 |
22 May 07 |
gregory |
141 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
142 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
143 |
System.out.println("An error has occured @ showWelcomePage:\n" |
1652 |
22 May 07 |
gregory |
144 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
145 |
} |
741 |
10 Oct 06 |
olle |
146 |
} |
741 |
10 Oct 06 |
olle |
147 |
|
1652 |
22 May 07 |
gregory |
148 |
static public void setupDone(DataOutputStream os) { |
1652 |
22 May 07 |
gregory |
149 |
try { |
1652 |
22 May 07 |
gregory |
150 |
os.writeBytes("<HTML>"); |
1652 |
22 May 07 |
gregory |
151 |
os.writeBytes("<HEAD>"); |
1652 |
22 May 07 |
gregory |
152 |
os.writeBytes("<TITLE>Welcome to Xerver Setup!</TITLE>"); |
1652 |
22 May 07 |
gregory |
153 |
os.writeBytes("</HEAD>"); |
1652 |
22 May 07 |
gregory |
154 |
os.writeBytes("<BODY BGCOLOR=white TEXT=black>"); |
1652 |
22 May 07 |
gregory |
155 |
os.writeBytes("<TABLE WIDTH='500' BORDER='0'>"); |
1652 |
22 May 07 |
gregory |
156 |
os.writeBytes("<TR><TD>"); |
1652 |
22 May 07 |
gregory |
157 |
os.writeBytes("<FONT FACE='arial,verdana' SIZE='-1'>"); |
1652 |
22 May 07 |
gregory |
158 |
os.writeBytes("<P>"); |
1652 |
22 May 07 |
gregory |
159 |
os.writeBytes("<CENTER>"); |
1652 |
22 May 07 |
gregory |
160 |
os.writeBytes("<IMG SRC='?action=showLogo' BORDER=0>"); |
1652 |
22 May 07 |
gregory |
161 |
os.writeBytes("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>"); |
1652 |
22 May 07 |
gregory |
162 |
os.writeBytes("<TR><TD>"); |
1652 |
22 May 07 |
gregory |
163 |
os.writeBytes("<B>"); |
1652 |
22 May 07 |
gregory |
164 |
os.writeBytes("<FONT FACE='arial,verdana' SIZE='-1'>"); |
1652 |
22 May 07 |
gregory |
165 |
os.writeBytes("The setup is now finished.<BR>"); |
1652 |
22 May 07 |
gregory |
166 |
os.writeBytes("Please enjoy Xerver!<BR>"); |
1652 |
22 May 07 |
gregory |
167 |
os.writeBytes("<BR>"); |
1652 |
22 May 07 |
gregory |
168 |
os.writeBytes("Xerver is a free<BR>"); |
1652 |
22 May 07 |
gregory |
169 |
os.writeBytes("open source software.<BR>"); |
1652 |
22 May 07 |
gregory |
170 |
os.writeBytes("Free support is available at:<BR>"); |
1652 |
22 May 07 |
gregory |
171 |
os |
1652 |
22 May 07 |
gregory |
172 |
.writeBytes("<A HREF=\"http://www.JavaScript.nu/xerver/\" TARGET=\"_blank\">http://www.JavaScript.nu/xerver/</A><BR>"); |
1652 |
22 May 07 |
gregory |
173 |
os.writeBytes("<P>"); |
1652 |
22 May 07 |
gregory |
174 |
os.writeBytes("<BR>"); |
1652 |
22 May 07 |
gregory |
175 |
os |
1652 |
22 May 07 |
gregory |
176 |
.writeBytes("<FONT COLOR=red>If Xerver is not already running,<BR>"); |
1652 |
22 May 07 |
gregory |
177 |
os.writeBytes("Xerver will be started now...</FONT>"); |
1652 |
22 May 07 |
gregory |
178 |
os.writeBytes("<P>"); |
741 |
10 Oct 06 |
olle |
179 |
|
1652 |
22 May 07 |
gregory |
180 |
if (File.separator.equals("\\")) // Is using windows |
1652 |
22 May 07 |
gregory |
181 |
{ |
1652 |
22 May 07 |
gregory |
182 |
os.writeBytes("Next time you want to start Xerver, <BR>"); |
1652 |
22 May 07 |
gregory |
183 |
os.writeBytes("just run \"StartXerver.exe\". <BR>"); |
1652 |
22 May 07 |
gregory |
184 |
os |
1652 |
22 May 07 |
gregory |
185 |
.writeBytes("(You can also start Xerver from a prompt with \"java Start\".)"); |
1652 |
22 May 07 |
gregory |
186 |
} else { |
1652 |
22 May 07 |
gregory |
187 |
os.writeBytes("Next time you want to start Xerver, <BR>"); |
1652 |
22 May 07 |
gregory |
188 |
os |
1652 |
22 May 07 |
gregory |
189 |
.writeBytes("just open a prompt, locate yourself in the Xerver-folder and enter \"java Start\"."); |
1652 |
22 May 07 |
gregory |
190 |
} |
1652 |
22 May 07 |
gregory |
191 |
os.writeBytes("</FONT>"); |
1652 |
22 May 07 |
gregory |
192 |
os.writeBytes("</B>"); |
1652 |
22 May 07 |
gregory |
193 |
os.writeBytes("<BR><BR><BR><BR><BR>"); |
1652 |
22 May 07 |
gregory |
194 |
os.writeBytes("</TD><TD>"); |
1652 |
22 May 07 |
gregory |
195 |
os.writeBytes("<IMG SRC='?action=showBigWizard' BORDER=0>"); |
1652 |
22 May 07 |
gregory |
196 |
os.writeBytes("</TD></TR>"); |
1652 |
22 May 07 |
gregory |
197 |
os.writeBytes("</TABLE>"); |
1652 |
22 May 07 |
gregory |
198 |
os.writeBytes("</CENTER>"); |
1652 |
22 May 07 |
gregory |
199 |
os.writeBytes("</FONT>"); |
1652 |
22 May 07 |
gregory |
200 |
os.writeBytes("</TD></TR>"); |
1652 |
22 May 07 |
gregory |
201 |
os.writeBytes("</TABLE>"); |
1652 |
22 May 07 |
gregory |
202 |
os.writeBytes("</BODY>"); |
1652 |
22 May 07 |
gregory |
203 |
os.writeBytes("</HTML>"); |
1652 |
22 May 07 |
gregory |
204 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
205 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
206 |
System.out.println("An error has occured @ setupDone:\n" |
1652 |
22 May 07 |
gregory |
207 |
+ e.getMessage()); |
741 |
10 Oct 06 |
olle |
208 |
} |
741 |
10 Oct 06 |
olle |
209 |
} |
741 |
10 Oct 06 |
olle |
210 |
|
1652 |
22 May 07 |
gregory |
211 |
static public void showSetupWizStep1(DataOutputStream os, String portNr, |
1652 |
22 May 07 |
gregory |
212 |
String s_allowFolderListing, String s_shareHiddenFiles, |
1652 |
22 May 07 |
gregory |
213 |
String s_allowCGIScript) { |
1652 |
22 May 07 |
gregory |
214 |
try { |
1652 |
22 May 07 |
gregory |
215 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
216 |
os.writeBytes("document.myForm.portNr.value=\"" + portNr + "\";"); |
1652 |
22 May 07 |
gregory |
217 |
os.writeBytes("document.myForm.allowFolderListing.selectedIndex=" |
1652 |
22 May 07 |
gregory |
218 |
+ s_allowFolderListing + ";"); |
1652 |
22 May 07 |
gregory |
219 |
os.writeBytes("document.myForm.shareHiddenFiles.selectedIndex=" |
1652 |
22 May 07 |
gregory |
220 |
+ s_shareHiddenFiles + ";"); |
1652 |
22 May 07 |
gregory |
221 |
os.writeBytes("document.myForm.allowCGIScript.selectedIndex=" |
1652 |
22 May 07 |
gregory |
222 |
+ s_allowCGIScript + ";"); |
1652 |
22 May 07 |
gregory |
223 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
224 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
225 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
226 |
System.out |
1652 |
22 May 07 |
gregory |
227 |
.println("An error has occured @ showSetupWizStep1:\n" |
1652 |
22 May 07 |
gregory |
228 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
229 |
} |
741 |
10 Oct 06 |
olle |
230 |
} |
741 |
10 Oct 06 |
olle |
231 |
|
1652 |
22 May 07 |
gregory |
232 |
static public void showSetupWizStep2(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
233 |
String s_sharedPaths) { |
1652 |
22 May 07 |
gregory |
234 |
try { |
1652 |
22 May 07 |
gregory |
235 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
236 |
os.writeBytes("createFolderList(\"" |
1652 |
22 May 07 |
gregory |
237 |
+ makeJSFriendly(s_sharedPaths, "\"") + "\");"); |
1652 |
22 May 07 |
gregory |
238 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
239 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
240 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
241 |
System.out |
1652 |
22 May 07 |
gregory |
242 |
.println("An error has occured @ showSetupWizStep2:\n" |
1652 |
22 May 07 |
gregory |
243 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
244 |
} |
741 |
10 Oct 06 |
olle |
245 |
} |
741 |
10 Oct 06 |
olle |
246 |
|
1652 |
22 May 07 |
gregory |
247 |
static public void showSetupWizStep3(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
248 |
String s_sharedPaths, String s_rootPath) { |
1652 |
22 May 07 |
gregory |
249 |
try { |
1652 |
22 May 07 |
gregory |
250 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
251 |
if (s_rootPath.equals("")) |
1652 |
22 May 07 |
gregory |
252 |
os.writeBytes("suggestRoot(\"" |
1652 |
22 May 07 |
gregory |
253 |
+ makeJSFriendly(s_sharedPaths, "\"") + "\");"); |
1652 |
22 May 07 |
gregory |
254 |
else |
1652 |
22 May 07 |
gregory |
255 |
os.writeBytes("document.myForm.rootPath.value=\"" |
1652 |
22 May 07 |
gregory |
256 |
+ makeJSFriendly(s_rootPath, "\"") + "\";"); |
1652 |
22 May 07 |
gregory |
257 |
os.writeBytes(""); |
1652 |
22 May 07 |
gregory |
258 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
259 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
260 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
261 |
System.out |
1652 |
22 May 07 |
gregory |
262 |
.println("An error has occured @ showSetupWizStep3:\n" |
1652 |
22 May 07 |
gregory |
263 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
264 |
} |
741 |
10 Oct 06 |
olle |
265 |
} |
741 |
10 Oct 06 |
olle |
266 |
|
1652 |
22 May 07 |
gregory |
267 |
static public void showSetupWizStep4(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
268 |
String s_sharedPaths, String s_aliasNames) { |
1652 |
22 May 07 |
gregory |
269 |
try { |
1652 |
22 May 07 |
gregory |
270 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
271 |
os.writeBytes("createAliasList(\"" |
1652 |
22 May 07 |
gregory |
272 |
+ makeJSFriendly(s_sharedPaths, "\"") + "\",\"" |
1652 |
22 May 07 |
gregory |
273 |
+ makeJSFriendly(s_aliasNames, "\"") + "\");"); |
1652 |
22 May 07 |
gregory |
274 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
275 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
276 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
277 |
System.out |
1652 |
22 May 07 |
gregory |
278 |
.println("An error has occured @ showSetupWizStep4:\n" |
1652 |
22 May 07 |
gregory |
279 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
280 |
} |
741 |
10 Oct 06 |
olle |
281 |
} |
741 |
10 Oct 06 |
olle |
282 |
|
1652 |
22 May 07 |
gregory |
283 |
static public void showSetupWizStep5(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
284 |
String s_runnableExtensions) { |
1652 |
22 May 07 |
gregory |
285 |
try { |
1652 |
22 May 07 |
gregory |
286 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
287 |
os.writeBytes("createRunnableExtList(\"" |
1652 |
22 May 07 |
gregory |
288 |
+ makeJSFriendly(s_runnableExtensions, "\"") + "\");"); |
1652 |
22 May 07 |
gregory |
289 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
290 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
291 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
292 |
System.out |
1652 |
22 May 07 |
gregory |
293 |
.println("An error has occured @ showSetupWizStep5:\n" |
1652 |
22 May 07 |
gregory |
294 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
295 |
} |
741 |
10 Oct 06 |
olle |
296 |
} |
741 |
10 Oct 06 |
olle |
297 |
|
1652 |
22 May 07 |
gregory |
298 |
static public void showSetupWizStep6(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
299 |
String s_indexNames) { |
1652 |
22 May 07 |
gregory |
300 |
try { |
1652 |
22 May 07 |
gregory |
301 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
302 |
os.writeBytes("createIndexFileList(\"" |
1652 |
22 May 07 |
gregory |
303 |
+ makeJSFriendly(s_indexNames, "\"") + "\");"); |
1652 |
22 May 07 |
gregory |
304 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
305 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
306 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
307 |
System.out |
1652 |
22 May 07 |
gregory |
308 |
.println("An error has occured @ showSetupWizStep6:\n" |
1652 |
22 May 07 |
gregory |
309 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
310 |
} |
741 |
10 Oct 06 |
olle |
311 |
} |
741 |
10 Oct 06 |
olle |
312 |
|
1652 |
22 May 07 |
gregory |
313 |
static public void showSetupWizStep7(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
314 |
String s_fileExtensions, String s_allowTheseFileExtensions) { |
1652 |
22 May 07 |
gregory |
315 |
try { |
1652 |
22 May 07 |
gregory |
316 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
317 |
os.writeBytes("createFileExtList(\"" |
1652 |
22 May 07 |
gregory |
318 |
+ makeJSFriendly(s_fileExtensions, "\"") + "\");"); |
1652 |
22 May 07 |
gregory |
319 |
os |
1652 |
22 May 07 |
gregory |
320 |
.writeBytes("document.myForm.allowTheseFileExtensions.selectedIndex=" |
1652 |
22 May 07 |
gregory |
321 |
+ s_allowTheseFileExtensions + ";"); |
1652 |
22 May 07 |
gregory |
322 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
323 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
324 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
325 |
System.out |
1652 |
22 May 07 |
gregory |
326 |
.println("An error has occured @ showSetupWizStep7:\n" |
1652 |
22 May 07 |
gregory |
327 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
328 |
} |
741 |
10 Oct 06 |
olle |
329 |
} |
741 |
10 Oct 06 |
olle |
330 |
|
1652 |
22 May 07 |
gregory |
331 |
static public void showSetupWizStep8(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
332 |
String s_sharedPaths, String s_protectedFolders) { |
1652 |
22 May 07 |
gregory |
333 |
try { |
1652 |
22 May 07 |
gregory |
334 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
335 |
os.writeBytes("createProtectedList(\"" |
1652 |
22 May 07 |
gregory |
336 |
+ makeJSFriendly(s_sharedPaths, "\"") + "\",\"" |
1652 |
22 May 07 |
gregory |
337 |
+ makeJSFriendly(s_protectedFolders, "\"") + "\");"); |
1652 |
22 May 07 |
gregory |
338 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
339 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
340 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
341 |
System.out |
1652 |
22 May 07 |
gregory |
342 |
.println("An error has occured @ showSetupWizStep8:\n" |
1652 |
22 May 07 |
gregory |
343 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
344 |
} |
741 |
10 Oct 06 |
olle |
345 |
} |
741 |
10 Oct 06 |
olle |
346 |
|
1652 |
22 May 07 |
gregory |
347 |
static public void showSetupWizStep9(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
348 |
String s_startupWindowMode) { |
1652 |
22 May 07 |
gregory |
349 |
try { |
1652 |
22 May 07 |
gregory |
350 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
351 |
os.writeBytes("selectCorrectRadio('" + s_startupWindowMode + "');"); |
1652 |
22 May 07 |
gregory |
352 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
353 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
354 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
355 |
System.out |
1652 |
22 May 07 |
gregory |
356 |
.println("An error has occured @ showSetupWizStep9:\n" |
1652 |
22 May 07 |
gregory |
357 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
358 |
} |
741 |
10 Oct 06 |
olle |
359 |
} |
741 |
10 Oct 06 |
olle |
360 |
|
1652 |
22 May 07 |
gregory |
361 |
static public void show401NotAuthorizedIsNotAccepted(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
362 |
String s_encryptedPasswordGiven, DateFormat df_dateFormat) { |
1652 |
22 May 07 |
gregory |
363 |
try { |
1652 |
22 May 07 |
gregory |
364 |
os.writeBytes("HTTP/1.1 401 Not Authorized \r\nDate: " |
1652 |
22 May 07 |
gregory |
365 |
+ df_dateFormat.format(new Date()) + " \r\n" |
1652 |
22 May 07 |
gregory |
366 |
+ "WWW-Authenticate: Basic realm=\"X" |
1652 |
22 May 07 |
gregory |
367 |
+ System.currentTimeMillis() + "X\" \r\n" + "Server: " |
1652 |
22 May 07 |
gregory |
368 |
+ XerverKernel.getXerverName() |
1652 |
22 May 07 |
gregory |
369 |
+ " \r\nConnection: close \r\n" |
1652 |
22 May 07 |
gregory |
370 |
+ "Pragma: no-cache \r\nCache-Control: no-cache \r\n" |
1652 |
22 May 07 |
gregory |
371 |
+ "Location: / \r\n" + |
1652 |
22 May 07 |
gregory |
// "Set-Cookie: hej=12345;\r\n"+ |
1652 |
22 May 07 |
gregory |
373 |
"Content-Type: text/html \r\n\r\n"); |
1652 |
22 May 07 |
gregory |
374 |
os |
1652 |
22 May 07 |
gregory |
375 |
.writeBytes("<HTML><HEAD><TITLE>Please reload this site...</TITLE></HEAD><BODY BGCOLOR=white TEXT=black>"); |
1652 |
22 May 07 |
gregory |
376 |
os |
1652 |
22 May 07 |
gregory |
377 |
.writeBytes("Please reload this site and enter a username and a password..."); |
741 |
10 Oct 06 |
olle |
378 |
os.writeBytes("</BODY></HTML>"); |
1652 |
22 May 07 |
gregory |
379 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
380 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
381 |
System.out |
1652 |
22 May 07 |
gregory |
382 |
.println("An error has occured @ show401NotAuthorizedIsNotAccepted:\n" |
1652 |
22 May 07 |
gregory |
383 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
384 |
} |
741 |
10 Oct 06 |
olle |
385 |
} |
741 |
10 Oct 06 |
olle |
386 |
|
1652 |
22 May 07 |
gregory |
387 |
static public void show401NotAuthorizedIsAccepted(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
388 |
String s_encryptedPasswordGiven, DateFormat df_dateFormat) { |
1652 |
22 May 07 |
gregory |
389 |
try { |
1652 |
22 May 07 |
gregory |
390 |
os.writeBytes("HTTP/1.1 200 OK \r\nDate: " |
1652 |
22 May 07 |
gregory |
391 |
+ df_dateFormat.format(new Date()) + " \r\n" + "Server: " |
1652 |
22 May 07 |
gregory |
392 |
+ XerverKernel.getXerverName() |
1652 |
22 May 07 |
gregory |
393 |
+ " \r\nConnection: close \r\n" |
1652 |
22 May 07 |
gregory |
394 |
+ "Pragma: no-cache \r\nCache-Control: no-cache \r\n" + |
1652 |
22 May 07 |
gregory |
// "Location: "+s_requestedFolderLocation+" \r\n"+ |
1652 |
22 May 07 |
gregory |
396 |
"Content-Type: text/html \r\n\r\n"); |
1652 |
22 May 07 |
gregory |
397 |
os |
1652 |
22 May 07 |
gregory |
398 |
.writeBytes("<HTML><HEAD><TITLE>Password Generated...</TITLE></HEAD><BODY BGCOLOR=white TEXT=black>"); |
741 |
10 Oct 06 |
olle |
399 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
741 |
10 Oct 06 |
olle |
400 |
os.writeBytes("data=unescape(location.search);"); |
1652 |
22 May 07 |
gregory |
401 |
os |
1652 |
22 May 07 |
gregory |
402 |
.writeBytes("passNr=data.substring(data.indexOf('passNr=')+'passNr='.length,data.indexOf('passNr=')+'passNr='.length+1);"); |
741 |
10 Oct 06 |
olle |
403 |
os.writeBytes("if (passNr==1)"); |
741 |
10 Oct 06 |
olle |
404 |
os.writeBytes("{"); |
1652 |
22 May 07 |
gregory |
405 |
os |
1652 |
22 May 07 |
gregory |
406 |
.writeBytes("parent.content.document.addProtWinForm.pass1.value='" |
1652 |
22 May 07 |
gregory |
407 |
+ s_encryptedPasswordGiven + "';"); |
741 |
10 Oct 06 |
olle |
408 |
os.writeBytes("}"); |
741 |
10 Oct 06 |
olle |
409 |
os.writeBytes("else"); |
741 |
10 Oct 06 |
olle |
410 |
os.writeBytes("{"); |
1652 |
22 May 07 |
gregory |
411 |
os |
1652 |
22 May 07 |
gregory |
412 |
.writeBytes("parent.content.document.addProtWinForm.pass2.value='" |
1652 |
22 May 07 |
gregory |
413 |
+ s_encryptedPasswordGiven + "';"); |
741 |
10 Oct 06 |
olle |
414 |
os.writeBytes("}"); |
741 |
10 Oct 06 |
olle |
415 |
os.writeBytes("</SCRIPT>"); |
741 |
10 Oct 06 |
olle |
416 |
os.writeBytes("</HTML>"); |
1652 |
22 May 07 |
gregory |
417 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
418 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
419 |
System.out |
1652 |
22 May 07 |
gregory |
420 |
.println("An error has occured @ show401NotAuthorizedIsAccepted:\n" |
1652 |
22 May 07 |
gregory |
421 |
+ e.getMessage()); |
1652 |
22 May 07 |
gregory |
422 |
} |
741 |
10 Oct 06 |
olle |
423 |
} |
741 |
10 Oct 06 |
olle |
424 |
|
1652 |
22 May 07 |
gregory |
425 |
static public void showChooseDirectory(DataOutputStream os, String argPath) { |
1652 |
22 May 07 |
gregory |
426 |
try { |
1652 |
22 May 07 |
gregory |
427 |
String s_path = argPath; |
1652 |
22 May 07 |
gregory |
428 |
PathInfo PI_path = new PathInfo(s_path); |
1652 |
22 May 07 |
gregory |
429 |
File f_currentFolder = PI_path.getCurrentFolder(); // This is null |
1652 |
22 May 07 |
gregory |
// if "argPath" |
1652 |
22 May 07 |
gregory |
// given to the |
1652 |
22 May 07 |
gregory |
// constructor |
1652 |
22 May 07 |
gregory |
// is (1) null, |
1652 |
22 May 07 |
gregory |
// (2) "", (3) |
1652 |
22 May 07 |
gregory |
// an invalid |
1652 |
22 May 07 |
gregory |
// path or (4) |
1652 |
22 May 07 |
gregory |
// an unreadable |
1652 |
22 May 07 |
gregory |
// path, such as |
1652 |
22 May 07 |
gregory |
// A: without a |
1652 |
22 May 07 |
gregory |
// floppy disk. |
1652 |
22 May 07 |
gregory |
441 |
File[] af_allFiles = PI_path.getAllFiles(); |
1652 |
22 May 07 |
gregory |
442 |
boolean directoryIsValid = PI_path.getDirectoryIsValid(); |
741 |
10 Oct 06 |
olle |
443 |
|
1652 |
22 May 07 |
gregory |
444 |
os |
1652 |
22 May 07 |
gregory |
445 |
.writeBytes("<HTML><HEAD>" |
1652 |
22 May 07 |
gregory |
446 |
+ "<TITLE>Choose directory!</TITLE>" |
1652 |
22 May 07 |
gregory |
447 |
+ "<SCRIPT LANGUAGE=javascript>" |
1652 |
22 May 07 |
gregory |
448 |
+ "function chooseDir(path)" |
1652 |
22 May 07 |
gregory |
449 |
+ "{" |
1652 |
22 May 07 |
gregory |
450 |
+ " if (opener==null || opener==\"undefined\")" |
1652 |
22 May 07 |
gregory |
451 |
+ " {" |
1652 |
22 May 07 |
gregory |
452 |
+ " alert(\"An error has occured: Please close the \\\"Choose a directory\\\" window and re-open again before you can choose a directory.\");" |
1652 |
22 May 07 |
gregory |
453 |
+ " }" |
1652 |
22 May 07 |
gregory |
454 |
+ " else" |
1652 |
22 May 07 |
gregory |
455 |
+ " {" |
1652 |
22 May 07 |
gregory |
456 |
+ " if (path.substring(path.length-1,path.length)!=\"/\" && path.substring(path.length-1,path.length)!=\"\\\\\")" |
1652 |
22 May 07 |
gregory |
457 |
+ // Path is a normal folder, not a root... //If |
1652 |
22 May 07 |
gregory |
// path is a root path already has an / (or \) |
1652 |
22 May 07 |
gregory |
// in the end, but if path is just a normal |
1652 |
22 May 07 |
gregory |
// folder there is no / (or \) in path |
1652 |
22 May 07 |
gregory |
461 |
" {" |
1652 |
22 May 07 |
gregory |
462 |
+ " path+=\"\\" |
1652 |
22 May 07 |
gregory |
463 |
+ File.separator |
1652 |
22 May 07 |
gregory |
464 |
+ "\";" |
1652 |
22 May 07 |
gregory |
465 |
+ // Will result in: path+="\\"; or path+="\/"; |
1652 |
22 May 07 |
gregory |
466 |
" }" + " opener.dirChoosen(path);" |
1652 |
22 May 07 |
gregory |
467 |
+ " top.close();" + " }" + "}" + "</SCRIPT>" |
1652 |
22 May 07 |
gregory |
468 |
+ "</HEAD><BODY BGCOLOR=white TEXT=black>" |
1652 |
22 May 07 |
gregory |
469 |
+ "<FONT FACE=\"tahoma, arial, verdana\">" |
1652 |
22 May 07 |
gregory |
470 |
+ "<H2>Choose a directory"); |
1652 |
22 May 07 |
gregory |
471 |
if (f_currentFolder != null && directoryIsValid) |
1652 |
22 May 07 |
gregory |
472 |
os.writeBytes(" [ " + f_currentFolder.toString() + " ]"); |
1652 |
22 May 07 |
gregory |
473 |
os.writeBytes("</H2>"); |
741 |
10 Oct 06 |
olle |
474 |
|
1652 |
22 May 07 |
gregory |
475 |
if (!directoryIsValid) { |
1652 |
22 May 07 |
gregory |
476 |
os.writeBytes("Xerver had problems try to find or read <B>" |
1652 |
22 May 07 |
gregory |
477 |
+ s_path + "</B>." + "<BR>" |
1652 |
22 May 07 |
gregory |
478 |
+ "Listing your roots instead!" + "<P>"); |
1652 |
22 May 07 |
gregory |
479 |
} |
1652 |
22 May 07 |
gregory |
480 |
os.writeBytes("Choose a directory by pressing the Choose-button." |
1652 |
22 May 07 |
gregory |
481 |
+ "<BR>" |
1652 |
22 May 07 |
gregory |
482 |
+ "Browse a directory by pressing the directory name." |
1652 |
22 May 07 |
gregory |
483 |
+ "</FONT>" + "<P>" + "<PRE>"); |
741 |
10 Oct 06 |
olle |
484 |
|
1652 |
22 May 07 |
gregory |
485 |
if (f_currentFolder != null) // If [All roots are NOT being |
1652 |
22 May 07 |
gregory |
// listed]... |
1652 |
22 May 07 |
gregory |
487 |
{ |
1652 |
22 May 07 |
gregory |
488 |
os |
1652 |
22 May 07 |
gregory |
489 |
.writeBytes("<B>[<A HREF=\"javascript:chooseDir(\'" |
1652 |
22 May 07 |
gregory |
490 |
+ makeJSFriendly(f_currentFolder.toString(), |
1652 |
22 May 07 |
gregory |
491 |
"'") |
1652 |
22 May 07 |
gregory |
492 |
+ "\');\" STYLE=\"text-decoration: none;\">Choose this folder</A>] " |
1652 |
22 May 07 |
gregory |
493 |
+ f_currentFolder.toString() + "</B>\r\n"); |
1652 |
22 May 07 |
gregory |
494 |
os.writeBytes("\r\n"); |
741 |
10 Oct 06 |
olle |
495 |
|
1652 |
22 May 07 |
gregory |
496 |
File f_oneLevelUp = f_currentFolder.getParentFile(); |
1652 |
22 May 07 |
gregory |
497 |
/* |
1652 |
22 May 07 |
gregory |
* if (File.separatorChar=='\\')//Windows... { |
1652 |
22 May 07 |
gregory |
* s_oneLevelUp=s_oneLevelUp.substring(0,s_oneLevelUp.length()-1).substring(0,s_oneLevelUp.lastIndexOf('\\')+1); |
1652 |
22 May 07 |
gregory |
* //"c:\aaa\bbb\" ==> "c:\aaa\", or "c:\aaa\bbb" ==> |
1652 |
22 May 07 |
gregory |
* "c:\aaa\"). } else //UNIX etc... { |
1652 |
22 May 07 |
gregory |
* s_oneLevelUp=s_oneLevelUp.substring(0,s_oneLevelUp.length()-1).substring(0,s_oneLevelUp.lastIndexOf('/')+1); |
1652 |
22 May 07 |
gregory |
* //"c:\aaa\bbb\" ==> "c:\aaa\", or "c:\aaa\bbb" ==> |
1652 |
22 May 07 |
gregory |
* "c:\aaa\"). } |
1652 |
22 May 07 |
gregory |
505 |
*/ |
1652 |
22 May 07 |
gregory |
506 |
if (f_oneLevelUp != null) // This is NOT root level, so show a |
1652 |
22 May 07 |
gregory |
// ".." link |
1652 |
22 May 07 |
gregory |
508 |
os |
1652 |
22 May 07 |
gregory |
509 |
.writeBytes(" <A HREF='/action=chooseDirectory¤tPath=" |
1652 |
22 May 07 |
gregory |
510 |
+ f_oneLevelUp.toString() |
1652 |
22 May 07 |
gregory |
511 |
+ "' STYLE=\"text-decoration: none;\">../</A>\r\n"); |
1652 |
22 May 07 |
gregory |
512 |
else |
1652 |
22 May 07 |
gregory |
// This is the root letter, press ".." to show all drives |
1652 |
22 May 07 |
gregory |
514 |
os |
1652 |
22 May 07 |
gregory |
515 |
.writeBytes(" <A HREF='/action=chooseDirectory' STYLE=\"text-decoration: none;\">../</A>\r\n"); |
1652 |
22 May 07 |
gregory |
516 |
} |
741 |
10 Oct 06 |
olle |
517 |
|
1652 |
22 May 07 |
gregory |
518 |
Arrays.sort(af_allFiles); |
1652 |
22 May 07 |
gregory |
519 |
boolean tmpFoldersShown = false; |
1652 |
22 May 07 |
gregory |
520 |
for (int i = 0, allFilesLength = af_allFiles.length; i < allFilesLength; i++) { |
1652 |
22 May 07 |
gregory |
521 |
File tmpFile = af_allFiles[i]; |
1652 |
22 May 07 |
gregory |
522 |
if (f_currentFolder == null || tmpFile.isDirectory()) // If |
1652 |
22 May 07 |
gregory |
// [it's |
1652 |
22 May 07 |
gregory |
// a |
1652 |
22 May 07 |
gregory |
// directory] |
1652 |
22 May 07 |
gregory |
// OR |
1652 |
22 May 07 |
gregory |
// [All |
1652 |
22 May 07 |
gregory |
// roots |
1652 |
22 May 07 |
gregory |
// are |
1652 |
22 May 07 |
gregory |
// being |
1652 |
22 May 07 |
gregory |
// listed]... |
1652 |
22 May 07 |
gregory |
532 |
{ |
1652 |
22 May 07 |
gregory |
533 |
tmpFoldersShown = true; |
1652 |
22 May 07 |
gregory |
534 |
os |
1652 |
22 May 07 |
gregory |
535 |
.writeBytes("[<A HREF=\"javascript:chooseDir(\'" |
1652 |
22 May 07 |
gregory |
536 |
+ makeJSFriendly(tmpFile.toString(), "'") |
1652 |
22 May 07 |
gregory |
537 |
+ "\');\" STYLE=\"text-decoration: none;\">Choose</A>] <A HREF=\"/action=chooseDirectory¤tPath=" |
1652 |
22 May 07 |
gregory |
538 |
+ tmpFile.toString() |
1652 |
22 May 07 |
gregory |
539 |
+ "\" STYLE=\"text-decoration: none;\">" |
1652 |
22 May 07 |
gregory |
540 |
+ tmpFile + "</A>\r\n"); |
1652 |
22 May 07 |
gregory |
541 |
} |
741 |
10 Oct 06 |
olle |
542 |
} |
1652 |
22 May 07 |
gregory |
543 |
if (!tmpFoldersShown) { |
1652 |
22 May 07 |
gregory |
544 |
os |
1652 |
22 May 07 |
gregory |
545 |
.writeBytes(" No folders exists in\r\n <B>" |
1652 |
22 May 07 |
gregory |
546 |
+ s_path + "</B>"); |
741 |
10 Oct 06 |
olle |
547 |
} |
1652 |
22 May 07 |
gregory |
548 |
os.writeBytes("</PRE>"); |
1652 |
22 May 07 |
gregory |
549 |
os.writeBytes("</BODY>"); |
1652 |
22 May 07 |
gregory |
550 |
os.writeBytes("</HTML>"); |
1652 |
22 May 07 |
gregory |
551 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
552 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
553 |
System.out |
1652 |
22 May 07 |
gregory |
554 |
.println("An error has occured @ showChooseDirectory:\n" |
1652 |
22 May 07 |
gregory |
555 |
+ e.getMessage()); |
741 |
10 Oct 06 |
olle |
556 |
} |
741 |
10 Oct 06 |
olle |
557 |
} |
741 |
10 Oct 06 |
olle |
558 |
|
1652 |
22 May 07 |
gregory |
// terminator shall be " or ' depending on if the JS-string is 'string' or |
1652 |
22 May 07 |
gregory |
// "string" |
1652 |
22 May 07 |
gregory |
561 |
private static String makeJSFriendly(String s, String terminator) { |
1652 |
22 May 07 |
gregory |
562 |
s = MyString.searchAndReplace(s, "\\", "\\\\"); |
1652 |
22 May 07 |
gregory |
563 |
s = MyString.searchAndReplace(s, terminator, "\\" + terminator); |
741 |
10 Oct 06 |
olle |
564 |
return s; |
741 |
10 Oct 06 |
olle |
565 |
} |
741 |
10 Oct 06 |
olle |
566 |
} |