Skip to content

Commit 6f5725a

Browse files
committed
HTML 5 player video function
fix #219
1 parent e2d8874 commit 6f5725a

22 files changed

+508
-468
lines changed

src/main/java/com/openkm/bean/Document.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ public class Document extends Node {
5454
private LockInfo lockInfo;
5555
private boolean signed;
5656
private boolean convertibleToPdf;
57-
private boolean convertibleToSwf;
5857
private String cipherName;
5958

6059
public LockInfo getLockInfo() {
@@ -137,14 +136,6 @@ public void setConvertibleToPdf(boolean convertibleToPdf) {
137136
this.convertibleToPdf = convertibleToPdf;
138137
}
139138

140-
public boolean isConvertibleToSwf() {
141-
return convertibleToSwf;
142-
}
143-
144-
public void setConvertibleToSwf(boolean convertibleToSwf) {
145-
this.convertibleToSwf = convertibleToSwf;
146-
}
147-
148139
public void setCipherName(String cipherName) {
149140
this.cipherName = cipherName;
150141
}
@@ -182,7 +173,6 @@ public String toString() {
182173
sb.append(", subscriptors=").append(subscriptors);
183174
sb.append(", uuid=").append(uuid);
184175
sb.append(", convertibleToPdf=").append(convertibleToPdf);
185-
sb.append(", convertibleToSwf=").append(convertibleToSwf);
186176
sb.append(", cipherName=").append(cipherName);
187177
sb.append(", notes=").append(notes);
188178
sb.append(", language=").append(language);

src/main/java/com/openkm/core/Config.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ public class Config {
102102
public static String REPOSITORY_CACHE_DIRNAME = "cache";
103103
public static String REPOSITORY_CACHE_DXF;
104104
public static String REPOSITORY_CACHE_PDF;
105-
public static String REPOSITORY_CACHE_SWF;
106105

107106
// Experimental features
108107
public static final String PROPERTY_PLUGIN_DEBUG = "plugin.debug";
@@ -221,7 +220,6 @@ public class Config {
221220
public static final String PROPERTY_SYSTEM_OPENOFFICE_PROGRAM = "system.openoffice.program";
222221
public static final String PROPERTY_SYSTEM_OPENOFFICE_DICTIONARY = "system.openoffice.dictionary";
223222
public static final String PROPERTY_SYSTEM_IMAGEMAGICK_CONVERT = "system.imagemagick.convert";
224-
public static final String PROPERTY_SYSTEM_SWFTOOLS_PDF2SWF = "system.swftools.pdf2swf";
225223
public static final String PROPERTY_SYSTEM_GHOSTSCRIPT = "system.ghostscript";
226224
public static final String PROPERTY_SYSTEM_DWG2DXF = "system.dwg2dxf";
227225
public static final String PROPERTY_SYSTEM_ANTIVIR = "system.antivir";
@@ -486,7 +484,6 @@ public class Config {
486484
public static String SYSTEM_OPENOFFICE_PROGRAM = "";
487485
public static String SYSTEM_OPENOFFICE_DICTIONARY = "";
488486
public static String SYSTEM_IMAGEMAGICK_CONVERT = "";
489-
public static String SYSTEM_SWFTOOLS_PDF2SWF = "";
490487
public static String SYSTEM_GHOSTSCRIPT = "";
491488
public static String SYSTEM_DWG2DXF = "";
492489
public static String SYSTEM_ANTIVIR = "";
@@ -732,8 +729,6 @@ public static Properties load(ServletContext sc) {
732729
values.put("repository.cache.dxf", REPOSITORY_CACHE_DXF);
733730
REPOSITORY_CACHE_PDF = REPOSITORY_CACHE_HOME + File.separator + "pdf";
734731
values.put("repository.cache.pdf", REPOSITORY_CACHE_PDF);
735-
REPOSITORY_CACHE_SWF = REPOSITORY_CACHE_HOME + File.separator + "swf";
736-
values.put("repository.cache.swf", REPOSITORY_CACHE_SWF);
737732
values.put(PROPERTY_HIBERNATE_SEARCH_INDEX_HOME, HIBERNATE_SEARCH_INDEX_HOME);
738733
values.put(PROPERTY_REPOSITORY_DATASTORE_BACKEND, REPOSITORY_DATASTORE_BACKEND);
739734
values.put(PROPERTY_REPOSITORY_DATASTORE_HOME, REPOSITORY_DATASTORE_HOME);
@@ -967,8 +962,6 @@ public static void reload(ServletContext sc, Properties cfg) {
967962
values.put(PROPERTY_SYSTEM_PDF_FORCE_OCR, Boolean.toString(SYSTEM_PDF_FORCE_OCR));
968963
SYSTEM_IMAGEMAGICK_CONVERT = ConfigDAO.getString(PROPERTY_SYSTEM_IMAGEMAGICK_CONVERT, cfg.getProperty(PROPERTY_SYSTEM_IMAGEMAGICK_CONVERT, EnvironmentDetector.detectImagemagickConvert()));
969964
values.put(PROPERTY_SYSTEM_IMAGEMAGICK_CONVERT, SYSTEM_IMAGEMAGICK_CONVERT);
970-
SYSTEM_SWFTOOLS_PDF2SWF = ConfigDAO.getString(PROPERTY_SYSTEM_SWFTOOLS_PDF2SWF, cfg.getProperty(PROPERTY_SYSTEM_SWFTOOLS_PDF2SWF, EnvironmentDetector.detectSwftoolsPdf2Swf()));
971-
values.put(PROPERTY_SYSTEM_SWFTOOLS_PDF2SWF, SYSTEM_SWFTOOLS_PDF2SWF);
972965
SYSTEM_GHOSTSCRIPT = ConfigDAO.getString(PROPERTY_SYSTEM_GHOSTSCRIPT, cfg.getProperty(PROPERTY_SYSTEM_GHOSTSCRIPT, EnvironmentDetector.detectGhostscript()));
973966
values.put(PROPERTY_SYSTEM_GHOSTSCRIPT, SYSTEM_GHOSTSCRIPT);
974967
SYSTEM_DWG2DXF = ConfigDAO.getString(PROPERTY_SYSTEM_DWG2DXF, cfg.getProperty(PROPERTY_SYSTEM_DWG2DXF, ""));

src/main/java/com/openkm/core/MimeTypeConfig.java

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ public class MimeTypeConfig {
3434

3535
// MIME types => NOTE Keep on sync with default.sql
3636
public final static String MIME_UNDEFINED = "application/octet-stream";
37+
38+
// application
3739
public final static String MIME_RTF = "application/rtf";
3840
public final static String MIME_PDF = "application/pdf";
3941
public final static String MIME_ZIP = "application/zip";
@@ -48,6 +50,8 @@ public class MimeTypeConfig {
4850
public final static String MIME_OO_SPREADSHEET = "application/vnd.oasis.opendocument.spreadsheet";
4951
public final static String MIME_OO_PRESENTATION = "application/vnd.oasis.opendocument.presentation";
5052
public final static String MIME_SWF = "application/x-shockwave-flash";
53+
54+
// Image
5155
public final static String MIME_DXF = "image/vnd.dxf";
5256
public final static String MIME_DWG = "image/vnd.dwg";
5357
public final static String MIME_TIFF = "image/tiff";
@@ -57,28 +61,44 @@ public class MimeTypeConfig {
5761
public final static String MIME_BMP = "image/bmp";
5862
public final static String MIME_PSD = "image/x-psd";
5963
public final static String MIME_ICO = "image/x-ico";
64+
public final static String MIME_PBM = "image/pbm";
65+
public final static String MIME_SVG = "image/svg+xml";
66+
67+
// Video
68+
public final static String MIME_MP3 = "audio/mpeg";
69+
public final static String MIME_WAV = "audio/x-wav";
70+
public final static String MIME_MP4 = "video/mp4";
71+
public final static String MIME_MPEG = "video/mpeg";
72+
public final static String MIME_FLV = "video/x-flv";
73+
public final static String MIME_WMV = "video/x-ms-wmv";
74+
public final static String MIME_AVI = "video/x-msvideo";
75+
76+
// Text
6077
public final static String MIME_HTML = "text/html";
6178
public final static String MIME_TEXT = "text/plain";
6279
public final static String MIME_XML = "text/xml";
6380
public final static String MIME_CSV = "text/csv";
81+
public final static String MIME_CSS = "text/css";
82+
83+
// Language
6484
public final static String MIME_SQL = "text/x-sql";
6585
public final static String MIME_JAVA = "text/x-java";
66-
public final static String MIME_JAR = "application/x-java-archive";
67-
public final static String MIME_SH = "application/x-shellscript";
68-
public final static String MIME_BSH = "application/x-bsh";
69-
public final static String MIME_PHP = "application/x-php";
7086
public final static String MIME_SCALA = "text/x-scala";
7187
public final static String MIME_PYTHON = "text/x-python";
72-
public final static String MIME_PERL = "application/x-perl";
73-
public final static String MIME_JAVASCRIPT = "application/javascript";
7488
public final static String MIME_GROOVY = "text/x-groovy";
7589
public final static String MIME_DIFF = "text/x-diff";
7690
public final static String MIME_PASCAL = "text/x-pascal";
77-
public final static String MIME_CSS = "text/css";
7891
public final static String MIME_CSHARP = "text/x-csharp";
7992
public final static String MIME_CPP = "text/x-c++";
80-
public final static String MIME_AS3 = "application/x-font-truetype";
8193
public final static String MIME_APPLESCRIPT = "text/applescript";
94+
public final static String MIME_SH = "application/x-shellscript";
95+
public final static String MIME_BSH = "application/x-bsh";
96+
public final static String MIME_PHP = "application/x-php";
97+
public final static String MIME_PERL = "application/x-perl";
98+
public final static String MIME_JAVASCRIPT = "application/javascript";
99+
public final static String MIME_AS3 = "application/x-font-truetype";
100+
101+
// Mail
82102
public final static String MIME_EML = "message/rfc822";
83103

84104
//public final static String MIME_VB = "";

src/main/java/com/openkm/dao/bean/AutomationRule.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ public class AutomationRule implements Serializable {
5151
public static final String EVENT_TEXT_EXTRACTOR = "text_extractor";
5252

5353
public static final String EVENT_CONVERSION_PDF = "convert_pdf";
54-
public static final String EVENT_CONVERSION_SWF = "convert_swf";
5554

5655
public static final String EVENT_PROPERTY_GROUP_ADD = "prop_group_add";
5756
public static final String EVENT_PROPERTY_GROUP_SET = "prop_group_set";
@@ -81,13 +80,12 @@ public class AutomationRule implements Serializable {
8180
put(AutomationRule.EVENT_TEXT_EXTRACTOR, "Text extraction");
8281

8382
put(AutomationRule.EVENT_CONVERSION_PDF, "Convert to PDF");
84-
put(AutomationRule.EVENT_CONVERSION_SWF, "Convert to SWF");
8583

8684
put(AutomationRule.EVENT_USER_LOGIN, "User login");
8785
put(AutomationRule.EVENT_USER_LOGOUT, "User logout");
8886
}
8987
};
90-
88+
9189
@Id
9290
@Column(name = "ARL_ID")
9391
@GeneratedValue(strategy = GenerationType.AUTO)

src/main/java/com/openkm/frontend/client/bean/GWTConverterStatus.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ public class GWTConverterStatus implements IsSerializable {
3232
public static final int STATUS_LOADING = 1;
3333
public static final int STATUS_CONVERTING_TO_PDF = 2;
3434
public static final int STATUS_CONVERTING_TO_PDF_FINISHED = 3;
35-
public static final int STATUS_CONVERTING_TO_SWF = 4;
36-
public static final int STATUS_CONVERTING_TO_SWF_FINISHED = 5;
3735
public static final int STATUS_SENDING_FILE = 6;
3836

3937
private int status = STATUS_LOADING;

src/main/java/com/openkm/frontend/client/extension/widget/preview/PreviewExtension.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,6 @@ public abstract class PreviewExtension extends Composite implements HasPreviewEx
3737
public abstract void setVisible(boolean visible);
3838

3939
public abstract void resizeViewer(int width, int height);
40-
}
40+
41+
public abstract boolean isPreviewAvailable(String mimeType);
42+
}

src/main/java/com/openkm/frontend/client/util/ConversionStatus.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,6 @@ public void onSuccess(GWTConverterStatus result) {
6161
case GWTConverterStatus.STATUS_CONVERTING_TO_PDF_FINISHED:
6262
Main.get().mainPanel.bottomPanel.setStatus(Main.i18n("status.converter.topdf.finished"));
6363
break;
64-
case GWTConverterStatus.STATUS_CONVERTING_TO_SWF:
65-
Main.get().mainPanel.bottomPanel.setStatus(Main.i18n("status.converter.toswf"));
66-
break;
67-
case GWTConverterStatus.STATUS_CONVERTING_TO_SWF_FINISHED:
68-
Main.get().mainPanel.bottomPanel.setStatus(Main.i18n("status.converter.toswf.finished"));
69-
break;
7064
case GWTConverterStatus.STATUS_SENDING_FILE:
7165
Main.get().mainPanel.bottomPanel.setStatus(Main.i18n("status.converter.sending.file"));
7266
break;
@@ -99,4 +93,4 @@ public void run() {
9993

10094
refreshStatus.schedule(REFRESH_STATUS_DELAY);
10195
}
102-
}
96+
}

src/main/java/com/openkm/frontend/client/util/Util.java

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -574,46 +574,6 @@ public static native String getUserAgent() /*-{
574574
}
575575
}-*/;
576576

577-
public static native void createPDFViewerFlexPaper(String pdfUrl, String width, String height) /*-{
578-
fpViewer = "../js/flexpaper/FlexPaperViewer.swf";
579-
pdfUrl = encodeURIComponent(pdfUrl);
580-
$wnd.swfobject.embedSWF(fpViewer, "pdfviewercontainer", width, height, "10.0.0", "playerProductInstall.swf",
581-
{
582-
SwfFile: pdfUrl,
583-
Scale: 0.6,
584-
ZoomTransition: "easeOut",
585-
ZoomTime: 0.5,
586-
ZoomInterval: 0.1,
587-
FitPageOnLoad: false,
588-
FitWidthOnLoad: true,
589-
FullScreenAsMaxWindow: false,
590-
ProgressiveLoading: true,
591-
ViewModeToolsVisible: true,
592-
ZoomToolsVisible: true,
593-
FullScreenVisible: true,
594-
NavToolsVisible: true,
595-
CursorToolsVisible: true,
596-
SearchToolsVisible: true,
597-
localeChain: "en_US"
598-
},
599-
{
600-
quality: "high",
601-
bgcolor: "#ffffff",
602-
allowscriptaccess: "sameDomain",
603-
allowfullscreen: "true"
604-
},
605-
{
606-
id: "FlexPaperViewer",
607-
name: "FlexPaperViewer"
608-
});
609-
}-*/;
610-
611-
public static native void resizePDFViewerFlexPaper(String width, String height) /*-{
612-
obj = $wnd.swfobject.getObjectById('FlexPaperViewer');
613-
obj.width = width;
614-
obj.height = height;
615-
}-*/;
616-
617577
public static native void resizeEmbededPDF(String width, String height, String pdfId) /*-{
618578
obj = $wnd.document.getElementById(pdfId);
619579
// Take in consideration if object exists

src/main/java/com/openkm/frontend/client/widget/properties/Preview.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,26 @@ private void hideWidgetExtension() {
167167
/**
168168
* Sets the boolean value if previewing document is available
169169
*
170-
* @param previewAvailable Set preview availability status.
170+
* @param doc Set preview availability status.
171171
*/
172-
public void setPreviewAvailable(boolean previewAvailable) {
173-
this.previewAvailable = previewAvailable;
172+
public void setPreviewAvailable(GWTDocument doc) {
173+
if (doc.getMimeType().equals("video/x-flv") || doc.getMimeType().equals("video/mp4") || doc.getMimeType().equals("audio/mpeg")
174+
|| doc.getMimeType().equals("audio/x-wav") || doc.getMimeType().equals("application/pdf")
175+
|| doc.getMimeType().equals("application/postscript") || doc.getMimeType().equals("application/x-shockwave-flash")
176+
|| isHTMLPreviewAvailable(doc.getMimeType())
177+
|| isSyntaxHighlighterPreviewAvailable(doc.getMimeType())
178+
|| doc.isConvertibleToSwf() || doc.isConvertibleToPdf()) {
179+
previewAvailable = true;
180+
} else {
181+
boolean found = false;
182+
for (PreviewExtension preview : widgetPreviewExtensionList) {
183+
if (preview.isPreviewAvailable(doc.getMimeType())) {
184+
found = true;
185+
break;
186+
}
187+
}
188+
previewAvailable = found;
189+
}
174190
}
175191

176192
/**

src/main/java/com/openkm/frontend/client/widget/properties/TabDocument.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,7 @@ public void setProperties(GWTDocument doc) {
242242
}
243243

244244
if (previewVisible) {
245-
preview.setPreviewAvailable(doc.isConvertibleToSwf()
246-
|| doc.getMimeType().equals("application/x-shockwave-flash")
247-
|| HTMLPreview.isPreviewAvailable(doc.getMimeType())
248-
|| SyntaxHighlighterPreview.isPreviewAvailable(doc.getMimeType()));
245+
preview.setPreviewAvailable(doc);
249246
}
250247

251248
if (!propertyGroup.isEmpty()) {

0 commit comments

Comments
 (0)