01: /*
02: * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/field/TKUploadFilenameFilter.java,v 1.6 2000/06/01 15:02:54 alex Exp $
03: *
04: */
05: /**
06: * Die Klasse TKUploadfield stellt Methoden zur Verfuegung, Uploads zu ermoeglichen und
07: * die hochgeladenen Dateien (Bilder) darzustellen, sowie die Daten in der Datenbank zu speichern.
08: * Das Verzeichnis, in dem die Bilder gespeichert werden sollen, wird mit dem Parameterhash
09: * uebergeben. Der Key ist mit UPBASE banannt.
10: *
11: * 1. Upload von Dateien
12: * Die im UPBASE liegenden Dateien werden ausgelesen und in einem Pulldown-
13: * menue zur Auswahl gestellt.
14: *
15: * 2 Upload von Dateien vom lokalen Rechner auf den Server
16: * Dateien koennen vom lokalen Rechner in das UPBASE-Verzeichnis auf den Server
17: * kopiert werden. Es besteht die Moeglichkeit, Dateinamen zu aendern.
18: *
19: * Das Upload benoetigt 2 Templates.
20: * 1. Datei-Auswahl
21: * Das erste (ce_upload.tmpl und ct_upload.tmpl)
22: * stellt Funktionalitaeten zur Verfuegung, die die Auswahl der Dateien ermoeglicht.
23: *
24: * 2. Darstellung der Datei
25: * Das 2. Template (field_option.tmpl) stellt das Bild da und enthaelt einen Button "Modify".
26: * Wird dieser Event ausgeloest, wird das Template zur Datei-Auswahl wieder generiert.
27: *
28: * Die Events fuer das Modify werden im Hauptprogramm (CTGenerator) abgearbeitet.
29: */package com.teamkonzept.field;
30:
31: import java.io.*;
32: import com.teamkonzept.lib.*;
33:
34: public class TKUploadFilenameFilter implements FilenameFilter {
35:
36: TKVector extensionVector;
37:
38: public TKUploadFilenameFilter(TKVector extensionVector) {
39: this .extensionVector = extensionVector;
40: }
41:
42: /**
43: * Durchsucht ein Dir nach Files
44: * @return true, wenn Dateien im dir vorhanden
45: */
46: public boolean accept(File dir, String name) {
47:
48: //TKHttp.out().println( "<br><b>################ EXTENSION VECTOR : </b>"+extensionVector);
49: //TKHttp.out().println( "<br><b>################ NAME : </b>"+name);
50:
51: //---- file ist kein dir ----//
52: if (!new File(dir, name).isDirectory()) {
53: String sep = ".";
54:
55: //---- nur dateien mit der richtigen extension auswaehlen ----//
56: for (int i = 0; i < extensionVector.size(); i++) {
57: String extension = (String) extensionVector
58: .elementAt(i);
59: int sepIdx = name.lastIndexOf(sep);
60: String fileExt = name.substring(sepIdx + 1, name
61: .length());
62: if (fileExt.equals(extension))
63: return true;
64: }
65: return false;
66: } else
67: return false;
68:
69: }
70:
71: //{{DECLARE_CONTROLS
72: //}}
73: }//end class
|