client/ftpd/src/se/lu/thep/coreftpd/ftp_server/ShowFTPSetupPages.java

Code
Comments
Other
Rev Date Author Line
741 10 Oct 06 olle 1 /*
1652 22 May 07 gregory 2  $Id$
741 10 Oct 06 olle 3
1916 31 Aug 07 jari 4  Copyright (C) 2006 Olle Mansson
1916 31 Aug 07 jari 5  Copyright (C) 2007 Gregory Vincic
741 10 Oct 06 olle 6
1652 22 May 07 gregory 7  This file is part of Proteios.
1652 22 May 07 gregory 8  Available at http://www.proteios.org/
741 10 Oct 06 olle 9
1652 22 May 07 gregory 10  Proteios is free software; you can redistribute it and/or modify it
1652 22 May 07 gregory 11  under the terms of the GNU General Public License as published by
1652 22 May 07 gregory 12  the Free Software Foundation; either version 2 of the License, or
1652 22 May 07 gregory 13  (at your option) any later version.
741 10 Oct 06 olle 14
1652 22 May 07 gregory 15  Proteios is distributed in the hope that it will be useful, but
1652 22 May 07 gregory 16  WITHOUT ANY WARRANTY; without even the implied warranty of
1652 22 May 07 gregory 17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1652 22 May 07 gregory 18  General Public License for more details.
741 10 Oct 06 olle 19
1652 22 May 07 gregory 20  You should have received a copy of the GNU General Public License
1652 22 May 07 gregory 21  along with this program; if not, write to the Free Software
1652 22 May 07 gregory 22  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
1652 22 May 07 gregory 23  02111-1307, USA.
1652 22 May 07 gregory 24  */
741 10 Oct 06 olle 25
741 10 Oct 06 olle 26 //  Xerver Free Web Server
741 10 Oct 06 olle 27 //  Copyright (C) 2002-2005 Omid Rouhani
741 10 Oct 06 olle 28 //
741 10 Oct 06 olle 29 //
741 10 Oct 06 olle 30 //  This program is free software; you can redistribute it and/or
741 10 Oct 06 olle 31 //  modify it under the terms of the GNU General Public License
741 10 Oct 06 olle 32 //  as published by the Free Software Foundation; either version 2
741 10 Oct 06 olle 33 //  of the License, or (at your option) any later version.
741 10 Oct 06 olle 34 //
741 10 Oct 06 olle 35 //  This program is distributed in the hope that it will be useful,
741 10 Oct 06 olle 36 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
741 10 Oct 06 olle 37 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
741 10 Oct 06 olle 38 //  GNU General Public License for more details.
741 10 Oct 06 olle 39 //
741 10 Oct 06 olle 40 //  You should have received a copy of the GNU General Public License
741 10 Oct 06 olle 41 //  along with this program; if not, write to the Free Software
741 10 Oct 06 olle 42 //  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 46 //  ##  YOU CAN CONTACT THE AUTHOR (OMID ROUHANI) AT:          ##
741 10 Oct 06 olle 47 //  ##  HTTP://WWW.JAVASCRIPT.NU/XERVER/                       ##
741 10 Oct 06 olle 48 //  ##                                                         ##
741 10 Oct 06 olle 49 //  ##  IF YOUR SOFTWARE IS NOT RELEASED UNDER THE             ##
741 10 Oct 06 olle 50 //  ##  GNU GENERAL PUBLIC LICENSE (GPL),                      ##
741 10 Oct 06 olle 51 //  ##  PLEASE DO NOT COPY ANYTHING FROM THIS SOURCE CODE!!!   ##
741 10 Oct 06 olle 52 //  ##                                                         ##
741 10 Oct 06 olle 53 //  ##  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 64  * <B>How to use (example):</B> <BR>
741 10 Oct 06 olle 65  * <CODE>ShowFTPSetupPages.showGeneralInfo(theOutput, FTPS_settings);</CODE>
741 10 Oct 06 olle 66  * <BR>
741 10 Oct 06 olle 67  * <BR>
1652 22 May 07 gregory 68  * This class contains only static members. <BR>
741 10 Oct 06 olle 69  * Members in this class are called from <CODE>FTPSetupConnection</CODE>.
741 10 Oct 06 olle 70  * <BR>
1652 22 May 07 gregory 71  * After a HTML-setup page is read and showed a member in this class is called,
1652 22 May 07 gregory 72  * which write a piece of JavaScript to the bottom of the HTML-page. <BR>
1652 22 May 07 gregory 73  * The JavaScript shows which the current settings are (for example: when you
1652 22 May 07 gregory 74  * load the setup page where you choose port number, a piece of JavaScript
1652 22 May 07 gregory 75  * changes the value in the "port number"-field to the port number that is used
1652 22 May 07 gregory 76  * (for example 21)). <BR>
1652 22 May 07 gregory 77  * This class also contains members that show the "Welcome to Xerver FTP
1652 22 May 07 gregory 78  * Setup"-page and similar pages.
1652 22 May 07 gregory 79  * 
1652 22 May 07 gregory 80  * 
741 10 Oct 06 olle 81  * @author <a href="http://www.JavaScript.nu/xerver/" TARGET="_top">Omid Rouhani</a>
741 10 Oct 06 olle 82  * @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 194           // 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 215         // 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 236       // 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 322         // 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&nbsp;=&nbsp;Write</B>&nbsp;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&nbsp;=&nbsp;Read</B>&nbsp;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&nbsp;=&nbsp;Create</B>&nbsp;new&nbsp;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&nbsp;=&nbsp;List</B>&nbsp;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&nbsp;=&nbsp;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 }