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.ftp_server; |
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.util.Arrays; |
741 |
10 Oct 06 |
olle |
61 |
|
741 |
10 Oct 06 |
olle |
62 |
/** |
1652 |
22 May 07 |
gregory |
63 |
* |
1652 |
22 May 07 |
gregory |
* <B>How to use (example):</B> <BR> |
741 |
10 Oct 06 |
olle |
* <CODE>ShowFTPSetupPages.showGeneralInfo(theOutput, FTPS_settings);</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>FTPSetupConnection</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 21)). <BR> |
1652 |
22 May 07 |
gregory |
* This class also contains members that show the "Welcome to Xerver FTP |
1652 |
22 May 07 |
gregory |
* Setup"-page and similar pages. |
1652 |
22 May 07 |
gregory |
79 |
* |
1652 |
22 May 07 |
gregory |
80 |
* |
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 |
83 |
*/ |
741 |
10 Oct 06 |
olle |
84 |
|
1652 |
22 May 07 |
gregory |
85 |
final public class ShowFTPSetupPages { |
1652 |
22 May 07 |
gregory |
86 |
private static final boolean b_showErrors = false; |
741 |
10 Oct 06 |
olle |
87 |
|
1652 |
22 May 07 |
gregory |
88 |
static public void showWelcomePage(DataOutputStream os) { |
741 |
10 Oct 06 |
olle |
89 |
try { |
1652 |
22 May 07 |
gregory |
90 |
os.writeBytes("<HTML>"); |
1652 |
22 May 07 |
gregory |
91 |
os.writeBytes("<HEAD>"); |
1652 |
22 May 07 |
gregory |
92 |
os.writeBytes("<TITLE>Welcome to Xerver Setup!</TITLE>"); |
741 |
10 Oct 06 |
olle |
93 |
|
1652 |
22 May 07 |
gregory |
94 |
os.writeBytes("<SCRIPT LANGUAGE=javascript>"); |
1652 |
22 May 07 |
gregory |
95 |
os.writeBytes("function openXerverSetup()"); |
1652 |
22 May 07 |
gregory |
96 |
os.writeBytes("{"); |
1652 |
22 May 07 |
gregory |
97 |
os |
1652 |
22 May 07 |
gregory |
98 |
.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 |
99 |
os.writeBytes(" addDirWindow.focus();"); |
1652 |
22 May 07 |
gregory |
100 |
os.writeBytes("}"); |
1652 |
22 May 07 |
gregory |
101 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
102 |
os.writeBytes("</HEAD>"); |
1652 |
22 May 07 |
gregory |
103 |
os.writeBytes("<BODY BGCOLOR=white TEXT=black>"); |
1652 |
22 May 07 |
gregory |
104 |
os.writeBytes("<TABLE WIDTH='500' BORDER='0'>"); |
1652 |
22 May 07 |
gregory |
105 |
os.writeBytes("<TR><TD>"); |
1652 |
22 May 07 |
gregory |
106 |
os.writeBytes("<CENTER>"); |
1652 |
22 May 07 |
gregory |
107 |
os.writeBytes("<A HREF=\"javascript:openXerverSetup()\">"); |
1652 |
22 May 07 |
gregory |
108 |
os |
1652 |
22 May 07 |
gregory |
109 |
.writeBytes("<IMG SRC='?action=showLogo' BORDER=0 ALT=\"Xerver Logo\">"); |
1652 |
22 May 07 |
gregory |
110 |
os.writeBytes("</A>"); |
1652 |
22 May 07 |
gregory |
111 |
os.writeBytes("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>"); |
1652 |
22 May 07 |
gregory |
112 |
os.writeBytes("<TR><TD VALIGN=top>"); |
1652 |
22 May 07 |
gregory |
113 |
os.writeBytes("<CENTER>"); |
1652 |
22 May 07 |
gregory |
114 |
os |
1652 |
22 May 07 |
gregory |
115 |
.writeBytes("<A HREF=\"javascript:openXerverSetup()\" STYLE=\"text-decoration:none;\">"); |
1652 |
22 May 07 |
gregory |
116 |
os |
1652 |
22 May 07 |
gregory |
117 |
.writeBytes("<FONT FACE='arial,verdana' SIZE='+2'><B>Start FTP Setup</B></FONT>"); |
1652 |
22 May 07 |
gregory |
118 |
os.writeBytes("</A>"); |
1652 |
22 May 07 |
gregory |
119 |
os.writeBytes("</CENTER>"); |
1652 |
22 May 07 |
gregory |
120 |
os.writeBytes("<BR><BR><BR>"); |
1652 |
22 May 07 |
gregory |
121 |
os.writeBytes("<FONT FACE='arial,verdana' SIZE='-1'>"); |
1652 |
22 May 07 |
gregory |
122 |
os.writeBytes("<B>"); |
1652 |
22 May 07 |
gregory |
123 |
os.writeBytes("Xerver Wizard will guide you<BR>"); |
1652 |
22 May 07 |
gregory |
124 |
os.writeBytes("through this setup program.<P>"); |
1652 |
22 May 07 |
gregory |
125 |
os.writeBytes("</B>"); |
1652 |
22 May 07 |
gregory |
126 |
os.writeBytes("</TD><TD>"); |
1652 |
22 May 07 |
gregory |
127 |
os.writeBytes("<A HREF=\"javascript:openXerverSetup()\">"); |
1652 |
22 May 07 |
gregory |
128 |
os |
1652 |
22 May 07 |
gregory |
129 |
.writeBytes("<IMG SRC=\"?action=showBigWizard\" BORDER=0 ALT=\"Xerver Wizard\">"); |
1652 |
22 May 07 |
gregory |
130 |
os.writeBytes("</A>"); |
1652 |
22 May 07 |
gregory |
131 |
os.writeBytes("</FONT>"); |
1652 |
22 May 07 |
gregory |
132 |
os.writeBytes("</TD></TR>"); |
1652 |
22 May 07 |
gregory |
133 |
os.writeBytes("</TABLE>"); |
1652 |
22 May 07 |
gregory |
134 |
os.writeBytes("</CENTER>"); |
1652 |
22 May 07 |
gregory |
135 |
os.writeBytes("</TD></TR>"); |
1652 |
22 May 07 |
gregory |
136 |
os.writeBytes("</TABLE>"); |
1652 |
22 May 07 |
gregory |
137 |
os.writeBytes("</BODY>"); |
1652 |
22 May 07 |
gregory |
138 |
os.writeBytes("</HTML>"); |
1652 |
22 May 07 |
gregory |
139 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
140 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
141 |
System.out.println("An error has occured @ showWelcomePage:\n" |
1652 |
22 May 07 |
gregory |
142 |
+ e); |
1652 |
22 May 07 |
gregory |
143 |
} |
741 |
10 Oct 06 |
olle |
144 |
} |
741 |
10 Oct 06 |
olle |
145 |
|
1652 |
22 May 07 |
gregory |
146 |
public static void showChooseUserScript(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
147 |
String[] allUsers) { |
741 |
10 Oct 06 |
olle |
148 |
try { |
741 |
10 Oct 06 |
olle |
149 |
Arrays.sort(allUsers); |
741 |
10 Oct 06 |
olle |
150 |
os.writeBytes("<SCRIPT>\n"); |
741 |
10 Oct 06 |
olle |
151 |
|
1652 |
22 May 07 |
gregory |
152 |
for (int i = 0; i < allUsers.length; i++) { |
1652 |
22 May 07 |
gregory |
153 |
os.writeBytes("addUserToList('" + allUsers[i] + "');\n"); |
741 |
10 Oct 06 |
olle |
154 |
} |
741 |
10 Oct 06 |
olle |
155 |
|
741 |
10 Oct 06 |
olle |
156 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
157 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
158 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
159 |
System.out |
1652 |
22 May 07 |
gregory |
160 |
.println("An error has occured @ showChooseUserScript:\n" |
1652 |
22 May 07 |
gregory |
161 |
+ e); |
1652 |
22 May 07 |
gregory |
162 |
} |
741 |
10 Oct 06 |
olle |
163 |
} |
741 |
10 Oct 06 |
olle |
164 |
|
1652 |
22 May 07 |
gregory |
165 |
public static void showRootInfo(DataOutputStream os, UserData UD_userData) { |
741 |
10 Oct 06 |
olle |
166 |
try { |
741 |
10 Oct 06 |
olle |
167 |
os.writeBytes("<SCRIPT>\n"); |
1652 |
22 May 07 |
gregory |
168 |
os.writeBytes("userNameIs(\"" + UD_userData.getUsername() |
1652 |
22 May 07 |
gregory |
169 |
+ "\");\n"); |
1652 |
22 May 07 |
gregory |
170 |
os.writeBytes("rootIs(\"" |
1652 |
22 May 07 |
gregory |
171 |
+ MyString.searchAndReplace(UD_userData.getRoot(), "\\", |
1652 |
22 May 07 |
gregory |
172 |
"\\\\") + "\");\n"); |
741 |
10 Oct 06 |
olle |
173 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
174 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
175 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
176 |
System.out |
1652 |
22 May 07 |
gregory |
177 |
.println("An error has occured @ showRootInfo:\n" + e); |
1652 |
22 May 07 |
gregory |
178 |
} |
741 |
10 Oct 06 |
olle |
179 |
} |
741 |
10 Oct 06 |
olle |
180 |
|
1652 |
22 May 07 |
gregory |
181 |
public static void showAliasesInfo(DataOutputStream os, UserData UD_userData) { |
741 |
10 Oct 06 |
olle |
182 |
try { |
1652 |
22 May 07 |
gregory |
183 |
String[] as_aliasesPath, as_aliasesName; |
1652 |
22 May 07 |
gregory |
184 |
as_aliasesName = UD_userData.getAliasesName(); |
1652 |
22 May 07 |
gregory |
185 |
as_aliasesPath = UD_userData.getAliasesPath(); |
1652 |
22 May 07 |
gregory |
186 |
int i_lengthOfArray = as_aliasesPath.length; |
741 |
10 Oct 06 |
olle |
187 |
|
1652 |
22 May 07 |
gregory |
188 |
if (i_lengthOfArray != 0) { |
1652 |
22 May 07 |
gregory |
189 |
os |
1652 |
22 May 07 |
gregory |
190 |
.writeBytes("<TABLE BGCOLOR=\"#eeeeee\" BORDER=2 BORDERCOLORDARK=black BORDERCOLORLIGHT=black BORDERCOLOR=black CELLPADDING=0 CELLSPACING=0>\n"); |
1652 |
22 May 07 |
gregory |
191 |
os |
1652 |
22 May 07 |
gregory |
192 |
.writeBytes("<TR><TH>Remove</TH><TH>Alias name</TH><TH>Path</TH></TR>\n"); |
1652 |
22 May 07 |
gregory |
193 |
for (int i = 0; i < as_aliasesPath.length; i++) { |
1652 |
22 May 07 |
gregory |
// os.writeBytes("addAliasToList(\""+as_aliasesName[i]+"\",\""+MyString.searchAndReplace(as_aliasesPath[i],"\\","\\\\")+"\");\n"); |
1652 |
22 May 07 |
gregory |
195 |
os |
1652 |
22 May 07 |
gregory |
196 |
.writeBytes("<TR><TD><INPUT TYPE=checkbox NAME='aliasCheckbox' VALUE=\"" |
1652 |
22 May 07 |
gregory |
197 |
+ as_aliasesName[i] |
1652 |
22 May 07 |
gregory |
198 |
+ "\"></TD><TD>" |
1652 |
22 May 07 |
gregory |
199 |
+ as_aliasesName[i] |
1652 |
22 May 07 |
gregory |
200 |
+ "</TD><TD><A HREF=\"" |
1652 |
22 May 07 |
gregory |
201 |
+ as_aliasesPath[i] |
1652 |
22 May 07 |
gregory |
202 |
+ "\" TARGET=\"_blank\">" |
1652 |
22 May 07 |
gregory |
203 |
+ as_aliasesPath[i] + "</A></TD></TR>\n"); |
741 |
10 Oct 06 |
olle |
204 |
} |
1652 |
22 May 07 |
gregory |
205 |
if (i_lengthOfArray == 0) { |
1652 |
22 May 07 |
gregory |
206 |
os |
1652 |
22 May 07 |
gregory |
207 |
.writeBytes("<TR><TD COLSPAN=3><I>No aliases</I></TD></TR>\n"); |
741 |
10 Oct 06 |
olle |
208 |
os.writeBytes("</TABLE>\n"); |
1652 |
22 May 07 |
gregory |
209 |
} else { |
741 |
10 Oct 06 |
olle |
210 |
os.writeBytes("</TABLE>\n"); |
1652 |
22 May 07 |
gregory |
211 |
os |
1652 |
22 May 07 |
gregory |
212 |
.writeBytes("<INPUT VALUE=\"Remove aliases\" TYPE=button onClick=\"removeAliases()\">\n"); |
741 |
10 Oct 06 |
olle |
213 |
} |
1652 |
22 May 07 |
gregory |
214 |
} else { |
1652 |
22 May 07 |
gregory |
// Show nothing if nothing in list |
741 |
10 Oct 06 |
olle |
216 |
} |
741 |
10 Oct 06 |
olle |
217 |
|
741 |
10 Oct 06 |
olle |
218 |
os.writeBytes("</FORM>\n"); |
741 |
10 Oct 06 |
olle |
219 |
os.writeBytes("<SCRIPT>\n"); |
1652 |
22 May 07 |
gregory |
220 |
os.writeBytes("userNameIs(\"" + UD_userData.getUsername() |
1652 |
22 May 07 |
gregory |
221 |
+ "\");\n"); |
741 |
10 Oct 06 |
olle |
222 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
223 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
224 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
225 |
System.out.println("An error has occured @ showAliasesInfo:\n" |
1652 |
22 May 07 |
gregory |
226 |
+ e); |
1652 |
22 May 07 |
gregory |
227 |
} |
741 |
10 Oct 06 |
olle |
228 |
} |
741 |
10 Oct 06 |
olle |
229 |
|
1652 |
22 May 07 |
gregory |
230 |
public static void showPermissionsInfo(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
231 |
UserData UD_userData) { |
741 |
10 Oct 06 |
olle |
232 |
try { |
1652 |
22 May 07 |
gregory |
233 |
String[] as_allPermissions = MyString.makeArrayOfString(UD_userData |
1652 |
22 May 07 |
gregory |
234 |
.getPermissionsString(), ","); |
741 |
10 Oct 06 |
olle |
235 |
|
1652 |
22 May 07 |
gregory |
// ALL THESE ARE TEMPORARY VARIABLES (NO GLOBAL VARIABLES) |
1652 |
22 May 07 |
gregory |
237 |
int i_lengthAllPermissions = as_allPermissions.length; |
741 |
10 Oct 06 |
olle |
238 |
int separatorIndexOf; |
741 |
10 Oct 06 |
olle |
239 |
String attribute, path, tmpLine; |
741 |
10 Oct 06 |
olle |
240 |
|
1652 |
22 May 07 |
gregory |
241 |
if (i_lengthAllPermissions != 0) { |
1652 |
22 May 07 |
gregory |
242 |
os |
1652 |
22 May 07 |
gregory |
243 |
.writeBytes("Here you can update permissions for this user.<BR>"); |
1652 |
22 May 07 |
gregory |
244 |
os |
1652 |
22 May 07 |
gregory |
245 |
.writeBytes("Just make your changes and press the Update-button."); |
1652 |
22 May 07 |
gregory |
246 |
os |
1652 |
22 May 07 |
gregory |
247 |
.writeBytes("<TABLE BGCOLOR=\"#eeeeee\" BORDER=2 BORDERCOLORDARK=black BORDERCOLORLIGHT=black BORDERCOLOR=black CELLPADDING=0 CELLSPACING=0>\n"); |
1652 |
22 May 07 |
gregory |
248 |
os |
1652 |
22 May 07 |
gregory |
249 |
.writeBytes("<TR BGCOLOR=\"#cccccc\"><TH>D</TH><TH>W</TH><TH>R</TH><TH>C</TH><TH>L</TH><TH>S</TH><TH>Path</TH></TR>\n"); |
741 |
10 Oct 06 |
olle |
250 |
|
1652 |
22 May 07 |
gregory |
251 |
for (int i = 0; i < i_lengthAllPermissions; i++) { |
1652 |
22 May 07 |
gregory |
252 |
tmpLine = as_allPermissions[i]; |
1652 |
22 May 07 |
gregory |
253 |
separatorIndexOf = tmpLine.lastIndexOf(';'); |
1652 |
22 May 07 |
gregory |
254 |
path = tmpLine.substring(0, separatorIndexOf); |
1652 |
22 May 07 |
gregory |
255 |
attribute = tmpLine.substring(separatorIndexOf + 1); |
741 |
10 Oct 06 |
olle |
256 |
|
741 |
10 Oct 06 |
olle |
257 |
os.writeBytes("<TR>\n"); |
1652 |
22 May 07 |
gregory |
258 |
os |
1652 |
22 May 07 |
gregory |
259 |
.writeBytes("<TD><A HREF=\"javascript:removePermissions(" |
1652 |
22 May 07 |
gregory |
260 |
+ i |
1652 |
22 May 07 |
gregory |
261 |
+ ")\"><IMG SRC=\"/?action=showImageRecycleBin\" BORDER=0 ALT=\"Unshare this folder (remove from this list)\"></A></TD>\n"); |
741 |
10 Oct 06 |
olle |
262 |
|
1652 |
22 May 07 |
gregory |
263 |
if (attribute.indexOf('w') != -1) { |
1652 |
22 May 07 |
gregory |
264 |
os |
1652 |
22 May 07 |
gregory |
265 |
.writeBytes("<TD><INPUT NAME=write TYPE=checkbox CHECKED></TD>\n"); |
1652 |
22 May 07 |
gregory |
266 |
} else { |
1652 |
22 May 07 |
gregory |
267 |
os |
1652 |
22 May 07 |
gregory |
268 |
.writeBytes("<TD><INPUT NAME=write TYPE=checkbox></TD>\n"); |
741 |
10 Oct 06 |
olle |
269 |
} |
1652 |
22 May 07 |
gregory |
270 |
if (attribute.indexOf('r') != -1) { |
1652 |
22 May 07 |
gregory |
271 |
os |
1652 |
22 May 07 |
gregory |
272 |
.writeBytes("<TD><INPUT NAME=read TYPE=checkbox CHECKED></TD>\n"); |
1652 |
22 May 07 |
gregory |
273 |
} else { |
1652 |
22 May 07 |
gregory |
274 |
os |
1652 |
22 May 07 |
gregory |
275 |
.writeBytes("<TD><INPUT NAME=read TYPE=checkbox></TD>\n"); |
741 |
10 Oct 06 |
olle |
276 |
} |
1652 |
22 May 07 |
gregory |
277 |
if (attribute.indexOf('c') != -1) { |
1652 |
22 May 07 |
gregory |
278 |
os |
1652 |
22 May 07 |
gregory |
279 |
.writeBytes("<TD><INPUT NAME=create TYPE=checkbox CHECKED></TD>\n"); |
1652 |
22 May 07 |
gregory |
280 |
} else { |
1652 |
22 May 07 |
gregory |
281 |
os |
1652 |
22 May 07 |
gregory |
282 |
.writeBytes("<TD><INPUT NAME=create TYPE=checkbox></TD>\n"); |
741 |
10 Oct 06 |
olle |
283 |
} |
1652 |
22 May 07 |
gregory |
284 |
if (attribute.indexOf('l') != -1) { |
1652 |
22 May 07 |
gregory |
285 |
os |
1652 |
22 May 07 |
gregory |
286 |
.writeBytes("<TD><INPUT NAME=list TYPE=checkbox CHECKED></TD>\n"); |
1652 |
22 May 07 |
gregory |
287 |
} else { |
1652 |
22 May 07 |
gregory |
288 |
os |
1652 |
22 May 07 |
gregory |
289 |
.writeBytes("<TD><INPUT NAME=list TYPE=checkbox></TD>\n"); |
741 |
10 Oct 06 |
olle |
290 |
} |
1652 |
22 May 07 |
gregory |
291 |
if (path.endsWith("*")) { |
1652 |
22 May 07 |
gregory |
292 |
String tmpPath = path.substring(0, path.length() - 1); |
1652 |
22 May 07 |
gregory |
293 |
os |
1652 |
22 May 07 |
gregory |
294 |
.writeBytes("<TD><INPUT NAME=subdir TYPE=checkbox CHECKED></TD>\n"); |
1652 |
22 May 07 |
gregory |
295 |
os.writeBytes("<TD><INPUT TYPE=hidden NAME=\"path" + i |
1652 |
22 May 07 |
gregory |
296 |
+ "\" VALUE=\"" + tmpPath + "\">\n"); |
1652 |
22 May 07 |
gregory |
297 |
os.writeBytes("<A HREF=\"" + tmpPath |
1652 |
22 May 07 |
gregory |
298 |
+ "\" TARGET=\"_blank\">" + tmpPath |
1652 |
22 May 07 |
gregory |
299 |
+ "</A></TD>\n"); |
1652 |
22 May 07 |
gregory |
300 |
} else { |
1652 |
22 May 07 |
gregory |
301 |
os |
1652 |
22 May 07 |
gregory |
302 |
.writeBytes("<TD><INPUT NAME=subdir TYPE=checkbox></TD>\n"); |
1652 |
22 May 07 |
gregory |
303 |
os.writeBytes("<TD><INPUT TYPE=hidden NAME=\"path" + i |
1652 |
22 May 07 |
gregory |
304 |
+ "\" VALUE=\"" + path + "\">\n"); |
1652 |
22 May 07 |
gregory |
305 |
os.writeBytes("<A HREF=\"" + path |
1652 |
22 May 07 |
gregory |
306 |
+ "\" TARGET=\"_blank\">" + path |
1652 |
22 May 07 |
gregory |
307 |
+ "</A></TD>\n"); |
741 |
10 Oct 06 |
olle |
308 |
} |
741 |
10 Oct 06 |
olle |
309 |
os.writeBytes("</TR>\n"); |
741 |
10 Oct 06 |
olle |
310 |
} |
1652 |
22 May 07 |
gregory |
311 |
if (i_lengthAllPermissions == 0) { |
1652 |
22 May 07 |
gregory |
312 |
os |
1652 |
22 May 07 |
gregory |
313 |
.writeBytes("<TR><TD COLSPAN=7><I>No directories shared</I></TD></TR>\n"); |
741 |
10 Oct 06 |
olle |
314 |
os.writeBytes("</TABLE>\n"); |
1652 |
22 May 07 |
gregory |
315 |
} else { |
741 |
10 Oct 06 |
olle |
316 |
os.writeBytes("</TABLE>\n"); |
741 |
10 Oct 06 |
olle |
317 |
} |
741 |
10 Oct 06 |
olle |
318 |
|
1652 |
22 May 07 |
gregory |
319 |
os |
1652 |
22 May 07 |
gregory |
320 |
.writeBytes("<INPUT TYPE=button VALUE=\"Update permissions\" onClick=\"updatePermissions()\">\n"); |
1652 |
22 May 07 |
gregory |
321 |
} else { |
1652 |
22 May 07 |
gregory |
// Show nothing if nothing in list |
741 |
10 Oct 06 |
olle |
323 |
} |
741 |
10 Oct 06 |
olle |
324 |
|
741 |
10 Oct 06 |
olle |
325 |
os.writeBytes("</FORM>\n"); |
1652 |
22 May 07 |
gregory |
326 |
os |
1652 |
22 May 07 |
gregory |
327 |
.writeBytes("<TABLE BGCOLOR=silver BORDER=2 BORDERCOLORDARK=black BORDERCOLORLIGHT=black BORDERCOLOR=black CELLPADDING=2 CELLSPACING=0>\n"); |
1652 |
22 May 07 |
gregory |
328 |
os |
1652 |
22 May 07 |
gregory |
329 |
.writeBytes("<TR><TD COLSPAN=2><B>Different kind of permissions</B></TD></TR>\n"); |
1652 |
22 May 07 |
gregory |
330 |
os |
1652 |
22 May 07 |
gregory |
331 |
.writeBytes("<TR><TD><B>W = Write</B> permissions</TD><TD BGCOLOR=\"#eeeeee\">User can delete, overwrite and create files/folders in this folder.</TD></TR>\n"); |
1652 |
22 May 07 |
gregory |
332 |
os |
1652 |
22 May 07 |
gregory |
333 |
.writeBytes("<TR><TD><B>R = Read</B> permissions</TD><TD BGCOLOR=\"#eeeeee\">User can read and download files in this folder.</TD></TR>\n"); |
1652 |
22 May 07 |
gregory |
334 |
os |
1652 |
22 May 07 |
gregory |
335 |
.writeBytes("<TR><TD><B>C = Create</B> new files</TD><TD BGCOLOR=\"#eeeeee\">User can can create new files/folders, but might not delete or overwrite existing files.</TD></TR>\n"); |
1652 |
22 May 07 |
gregory |
336 |
os |
1652 |
22 May 07 |
gregory |
337 |
.writeBytes("<TR><TD><B>L = List</B> directories</TD><TD BGCOLOR=\"#eeeeee\">User can see the what files/folders are stored in this directory.</TD></TR>\n"); |
1652 |
22 May 07 |
gregory |
338 |
os |
1652 |
22 May 07 |
gregory |
339 |
.writeBytes("<TR><TD><B>S = Subdirectories</B></TD><TD BGCOLOR=\"#eeeeee\">All permissions for this folder shall also apply for subdirectories.</TD></TR>\n"); |
741 |
10 Oct 06 |
olle |
340 |
os.writeBytes("</TABLE>\n"); |
741 |
10 Oct 06 |
olle |
341 |
os.writeBytes("<BR>\n"); |
1652 |
22 May 07 |
gregory |
342 |
os |
1652 |
22 May 07 |
gregory |
343 |
.writeBytes("\"<B>W</B>rite permissions\" means that the user has permissions to do anything to files in a folder."); |
741 |
10 Oct 06 |
olle |
344 |
os.writeBytes("<BR>\n"); |
1652 |
22 May 07 |
gregory |
345 |
os |
1652 |
22 May 07 |
gregory |
346 |
.writeBytes("\"<B>C</B>reate new files\" does only give permissions to create new files.\n"); |
741 |
10 Oct 06 |
olle |
347 |
os.writeBytes("<BR>\n"); |
1652 |
22 May 07 |
gregory |
348 |
os |
1652 |
22 May 07 |
gregory |
349 |
.writeBytes("If both <B>W</B> and <B>C</B> are selected, <B>C</B> is \"ignored\" as <B>W</B> is more powerful.\n"); |
741 |
10 Oct 06 |
olle |
350 |
os.writeBytes("<P>\n"); |
741 |
10 Oct 06 |
olle |
351 |
os.writeBytes("<SCRIPT>\n"); |
1652 |
22 May 07 |
gregory |
352 |
os.writeBytes("userNameIs(\"" + UD_userData.getUsername() |
1652 |
22 May 07 |
gregory |
353 |
+ "\");\n"); |
741 |
10 Oct 06 |
olle |
354 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
355 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
356 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
357 |
System.out.println("An error has occured @ showAliasesInfo:\n" |
1652 |
22 May 07 |
gregory |
358 |
+ e); |
1652 |
22 May 07 |
gregory |
359 |
} |
741 |
10 Oct 06 |
olle |
360 |
} |
741 |
10 Oct 06 |
olle |
361 |
|
1652 |
22 May 07 |
gregory |
362 |
public static void showPasswordInfo(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
363 |
UserData UD_userData) { |
741 |
10 Oct 06 |
olle |
364 |
try { |
741 |
10 Oct 06 |
olle |
365 |
os.writeBytes("<SCRIPT>\n"); |
1652 |
22 May 07 |
gregory |
366 |
os.writeBytes("userNameIs(\"" + UD_userData.getUsername() |
1652 |
22 May 07 |
gregory |
367 |
+ "\");\n"); |
741 |
10 Oct 06 |
olle |
368 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
369 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
370 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
371 |
System.out.println("An error has occured @ showPasswordInfo:\n" |
1652 |
22 May 07 |
gregory |
372 |
+ e); |
1652 |
22 May 07 |
gregory |
373 |
} |
741 |
10 Oct 06 |
olle |
374 |
} |
741 |
10 Oct 06 |
olle |
375 |
|
1652 |
22 May 07 |
gregory |
376 |
public static void showGeneralInfo(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
377 |
FTPSettings FTPS_settings) { |
741 |
10 Oct 06 |
olle |
378 |
try { |
741 |
10 Oct 06 |
olle |
379 |
os.writeBytes("<SCRIPT>\n"); |
1652 |
22 May 07 |
gregory |
380 |
os.writeBytes("setPortNr(\"" + FTPSettings.i_portNr + "\");\n"); |
1652 |
22 May 07 |
gregory |
381 |
os.writeBytes("setShowAlias(\"" + FTPSettings.i_howToShowAlias |
1652 |
22 May 07 |
gregory |
382 |
+ "\");\n"); |
741 |
10 Oct 06 |
olle |
383 |
|
1221 |
18 Feb 07 |
gregory |
384 |
if (FTPSettings.b_guestAccountExists) |
741 |
10 Oct 06 |
olle |
385 |
os.writeBytes("setGuestAccount(\"1\");\n"); |
741 |
10 Oct 06 |
olle |
386 |
else |
741 |
10 Oct 06 |
olle |
387 |
os.writeBytes("setGuestAccount(\"0\");\n"); |
741 |
10 Oct 06 |
olle |
388 |
|
741 |
10 Oct 06 |
olle |
389 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
390 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
391 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
392 |
System.out.println("An error has occured @ showGeneralInfo:\n" |
1652 |
22 May 07 |
gregory |
393 |
+ e); |
1652 |
22 May 07 |
gregory |
394 |
} |
741 |
10 Oct 06 |
olle |
395 |
} |
741 |
10 Oct 06 |
olle |
396 |
|
1652 |
22 May 07 |
gregory |
397 |
public static void showAdvancedInfo(DataOutputStream os, |
1652 |
22 May 07 |
gregory |
398 |
FTPSettings FTPS_settings) { |
741 |
10 Oct 06 |
olle |
399 |
try { |
741 |
10 Oct 06 |
olle |
400 |
os.writeBytes("<SCRIPT>\n"); |
1652 |
22 May 07 |
gregory |
401 |
os.writeBytes("setMaxIdleTime(\"" + FTPSettings.i_maxTimeToIdle |
1652 |
22 May 07 |
gregory |
402 |
/ 1000 + "\");\n"); |
1652 |
22 May 07 |
gregory |
403 |
os.writeBytes("setMaxNOOPAllowed(\"" |
1652 |
22 May 07 |
gregory |
404 |
+ FTPSettings.i_maxNumberOfNOOP + "\");\n"); |
1652 |
22 May 07 |
gregory |
405 |
os.writeBytes("setDataPortNr(\"" + FTPSettings.i_dataPortNr |
1652 |
22 May 07 |
gregory |
406 |
+ "\");\n"); |
2703 |
16 May 08 |
olle |
407 |
String s_rangeValue; |
2703 |
16 May 08 |
olle |
408 |
if (FTPS_settings.ai_portRange == null) |
2703 |
16 May 08 |
olle |
409 |
s_rangeValue = ""; |
2703 |
16 May 08 |
olle |
410 |
else |
2703 |
16 May 08 |
olle |
411 |
s_rangeValue = FTPS_settings.ai_portRange[0] + "," + FTPS_settings.ai_portRange[1]; |
2703 |
16 May 08 |
olle |
412 |
os.writeBytes("setPassiveRange(\""+s_rangeValue+"\");\n"); |
741 |
10 Oct 06 |
olle |
413 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
414 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
415 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
416 |
System.out.println("An error has occured @ showAdvancedInfo:\n" |
1652 |
22 May 07 |
gregory |
417 |
+ e); |
1652 |
22 May 07 |
gregory |
418 |
} |
741 |
10 Oct 06 |
olle |
419 |
} |
741 |
10 Oct 06 |
olle |
420 |
|
1652 |
22 May 07 |
gregory |
421 |
public static void showReloadUserFrame(DataOutputStream os) { |
741 |
10 Oct 06 |
olle |
422 |
try { |
741 |
10 Oct 06 |
olle |
423 |
os.writeBytes("<SCRIPT>\n"); |
741 |
10 Oct 06 |
olle |
424 |
os.writeBytes("parent.usermenu.location.reload();\n"); |
741 |
10 Oct 06 |
olle |
425 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
426 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
427 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
428 |
System.out |
1652 |
22 May 07 |
gregory |
429 |
.println("An error has occured @ showReloadUserFrame:\n" |
1652 |
22 May 07 |
gregory |
430 |
+ e); |
1652 |
22 May 07 |
gregory |
431 |
} |
741 |
10 Oct 06 |
olle |
432 |
} |
741 |
10 Oct 06 |
olle |
433 |
|
1652 |
22 May 07 |
gregory |
434 |
public static void showInvalidrequest(DataOutputStream os) { |
741 |
10 Oct 06 |
olle |
435 |
try { |
1652 |
22 May 07 |
gregory |
436 |
os |
1652 |
22 May 07 |
gregory |
437 |
.writeBytes("<HTML><HEAD><TITLE>An invalid request was made...</TITLE><BODY BGCOLOR=white TEXT=black>\n"); |
741 |
10 Oct 06 |
olle |
438 |
os.writeBytes("An invalid request was made...\n"); |
741 |
10 Oct 06 |
olle |
439 |
os.writeBytes("</BODY></HTML>"); |
1652 |
22 May 07 |
gregory |
440 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
441 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
442 |
System.out |
1652 |
22 May 07 |
gregory |
443 |
.println("An error has occured @ showInvalidrequest:\n" |
1652 |
22 May 07 |
gregory |
444 |
+ e); |
1652 |
22 May 07 |
gregory |
445 |
} |
741 |
10 Oct 06 |
olle |
446 |
} |
741 |
10 Oct 06 |
olle |
447 |
|
1652 |
22 May 07 |
gregory |
448 |
public static void showAlertInfo(DataOutputStream os, String txt) { |
741 |
10 Oct 06 |
olle |
449 |
try { |
741 |
10 Oct 06 |
olle |
450 |
os.writeBytes("<SCRIPT>\n"); |
1652 |
22 May 07 |
gregory |
451 |
os.writeBytes("alert(\"" + txt + "\");\n"); |
741 |
10 Oct 06 |
olle |
452 |
os.writeBytes("</SCRIPT>"); |
1652 |
22 May 07 |
gregory |
453 |
} catch (Exception e) { |
1652 |
22 May 07 |
gregory |
454 |
if (b_showErrors) |
1652 |
22 May 07 |
gregory |
455 |
System.out.println("An error has occured @ showAlertInfo:\n" |
1652 |
22 May 07 |
gregory |
456 |
+ e); |
1652 |
22 May 07 |
gregory |
457 |
} |
741 |
10 Oct 06 |
olle |
458 |
} |
741 |
10 Oct 06 |
olle |
459 |
} |