Index: lams_admin/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u -r9a74042c5aa2c7d43d654a45b63f647b1bc6c913 -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_admin/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 9a74042c5aa2c7d43d654a45b63f647b1bc6c913) +++ lams_admin/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -123,7 +123,7 @@ }
- + Index: lams_admin/web/WEB-INF/tags/FileUpload.tag =================================================================== diff -u --- lams_admin/web/WEB-INF/tags/FileUpload.tag (revision 0) +++ lams_admin/web/WEB-INF/tags/FileUpload.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,56 @@ +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-function" prefix="fn" %> +<%@ taglib uri="tags-fmt" prefix="fmt" %> + +<%@ attribute name="fileFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputNameFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="uploadInfoMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="maxFileSize" required="true" rtexprvalue="true"%> +<%@ attribute name="tabindex" required="false" rtexprvalue="true"%> + + + + + + + + + + + + + + + + + + + + + +
+ <%-- font-size:inherit needed for Share Resources authoring or the button is too small --%> + + + + +
+

${maxFileSize}

+ + + + Index: lams_admin/web/WEB-INF/tags/WaitingSpinner.tag =================================================================== diff -u --- lams_admin/web/WEB-INF/tags/WaitingSpinner.tag (revision 0) +++ lams_admin/web/WEB-INF/tags/WaitingSpinner.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,17 @@ +<%@ taglib uri="tags-core" prefix="c"%> + +<%@ attribute name="id" required="false" rtexprvalue="true"%> +<%@ attribute name="showInline" required="false" rtexprvalue="true"%> + + + id="${id}" + + + + + + + + + + \ No newline at end of file Index: lams_admin/web/WEB-INF/tlds/lams/lams.tld =================================================================== diff -u -r1f99d03199a3995cfffe0cb1536c08f0220e88b0 -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_admin/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 1f99d03199a3995cfffe0cb1536c08f0220e88b0) +++ lams_admin/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -529,5 +529,13 @@ CommentsAuthor /WEB-INF/tags/CommentsAuthor.tag + + FileUpload + /WEB-INF/tags/FileUpload.tag + + + WaitingSpinner + /WEB-INF/tags/WaitingSpinner.tag + Index: lams_central/web/WEB-INF/tags/FileUpload.tag =================================================================== diff -u --- lams_central/web/WEB-INF/tags/FileUpload.tag (revision 0) +++ lams_central/web/WEB-INF/tags/FileUpload.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,56 @@ +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-function" prefix="fn" %> +<%@ taglib uri="tags-fmt" prefix="fmt" %> + +<%@ attribute name="fileFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputNameFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="uploadInfoMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="maxFileSize" required="true" rtexprvalue="true"%> +<%@ attribute name="tabindex" required="false" rtexprvalue="true"%> + + + + + + + + + + + + + + + + + + + + + +
+ <%-- font-size:inherit needed for Share Resources authoring or the button is too small --%> + + + + +
+

${maxFileSize}

+ + + + Index: lams_central/web/WEB-INF/tags/WaitingSpinner.tag =================================================================== diff -u --- lams_central/web/WEB-INF/tags/WaitingSpinner.tag (revision 0) +++ lams_central/web/WEB-INF/tags/WaitingSpinner.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,17 @@ +<%@ taglib uri="tags-core" prefix="c"%> + +<%@ attribute name="id" required="false" rtexprvalue="true"%> +<%@ attribute name="showInline" required="false" rtexprvalue="true"%> + + + id="${id}" + + + + + + + + + + \ No newline at end of file Index: lams_central/web/WEB-INF/tlds/lams/lams.tld =================================================================== diff -u -r1f99d03199a3995cfffe0cb1536c08f0220e88b0 -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_central/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 1f99d03199a3995cfffe0cb1536c08f0220e88b0) +++ lams_central/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -529,5 +529,13 @@ CommentsAuthor /WEB-INF/tags/CommentsAuthor.tag + + FileUpload + /WEB-INF/tags/FileUpload.tag + + + WaitingSpinner + /WEB-INF/tags/WaitingSpinner.tag + Index: lams_central/web/css/defaultHTML_learner.css =================================================================== diff -u -r5c8251fd4c9e991c1dfe24700fd317b74dd5f0c2 -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_central/web/css/defaultHTML_learner.css (.../defaultHTML_learner.css) (revision 5c8251fd4c9e991c1dfe24700fd317b74dd5f0c2) +++ lams_central/web/css/defaultHTML_learner.css (.../defaultHTML_learner.css) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -425,6 +425,13 @@ font-size:90%; line-height: 1.2; } + + .file-input-name { + height: 25px; /* match height of btn */ + padding:4px 9px; + font-size:90%; + line-height: 1.2; + } } Index: lams_central/web/includes/javascript/upload.js =================================================================== diff -u --- lams_central/web/includes/javascript/upload.js (revision 0) +++ lams_central/web/includes/javascript/upload.js (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,95 @@ +// LAMS Helper methods to validate file upload + +// returns true if not an executable, shows error message if not valid +function validateShowErrorNotExecutable(file, errorMessage, showFilename, exeListStr) { + clearFileError(); + if ( ! validateNotExecutable( file, exeListStr) ) { + showFileError(showFilename ? filename + ": " + errorMessage: errorMessage); + return false; + } + return true; +} + +// returns true if not an executable +function validateNotExecutable(file, exeListStr) { + var filename = file.name; + var executable = false; + if ( filename ) { + var extname = filename.substr((~-filename.lastIndexOf(".") >>> 0) + 2); + if ( extname.length == 0) { + executable = false; + } else { + extname = extname.toUpperCase(); + extname = "." + extname; + + var extList = exeListStr.split(','); + var arrayLength = extList.length; + for (var i = 0; i < arrayLength && ! executable; i++) { + executable = extname === extList[i].toUpperCase(); + } + } + } + return ! executable; +} + +// returns false if not an image type, shows error message if not valid +function validateShowErrorImageType(file, errorMessage, showFilename, exeTypes) { + // Check the file type. + clearFileError(); + if (file.type != 'image/png' && file.type != 'image/jpg' && file.type != 'image/gif' && file.type != 'image/jpeg' ) { + showFileError(showFilename ? file.name + ": " + errorMessage: errorMessage); + return false; + } + return true; +} + +// file: the file to check +// maxSize: maximum size allowed in bytes +// rawErrorMessage: message text from I18N files. Must contain '{0}' which will be replaced by the size and the units +// e.g. 'Uploaded file exceeded maximum size: {0}' +function validateShowErrorFileSize(file, maxSize, errorMessage, showFilename) { + if ( file.size > maxSize ) { + var updatedErrorMessage = errorMessage.replace('{0}', formatBytesForMessage(maxSize) ) + showFileError(showFilename ? file.name + ": " + updatedErrorMessage: updatedErrorMessage); + return false; + } + return true; +} + +//file: the file to check +//maxSize: maximum size allowed in bytes +function validateFileSize(file, maxSize) { + return file.size <= maxSize; +} + +// rawErrorMessage: message text from I18N files. Must contain '{0}' which will be replaced by the size and the units +function formatBytesForMessage(sizeinBytes) { + var unit = null; + if (sizeinBytes >= 1024) { + sizeinBytes = sizeinBytes / 1024; + if (sizeinBytes >= 1024) { + sizeinBytes = sizeinBytes / 1024; + unit = " MB"; + } else { + unit = " KB"; + } + } else { + unit = " B"; + } + return parseFloat(sizeinBytes).toFixed(1) + unit; +} + +function clearFileError() { + var errDiv = $("#file-error-msg"); + errDiv.empty(); + errDiv.css( "display", "none" ); +} +function showFileError(error) { + var errDiv = $("#file-error-msg"); + if ( errDiv.size() > 0 ) { + errDiv.append(error); + errDiv.css( "display", "block" ); + } else { + alert(error); + } +} Index: lams_gradebook/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u -r9ea3b4f818c325cac159689c652a95b4a045510e -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_gradebook/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 9ea3b4f818c325cac159689c652a95b4a045510e) +++ lams_gradebook/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -123,7 +123,7 @@ }
- + Index: lams_gradebook/web/WEB-INF/tags/FileUpload.tag =================================================================== diff -u --- lams_gradebook/web/WEB-INF/tags/FileUpload.tag (revision 0) +++ lams_gradebook/web/WEB-INF/tags/FileUpload.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,56 @@ +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-function" prefix="fn" %> +<%@ taglib uri="tags-fmt" prefix="fmt" %> + +<%@ attribute name="fileFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputNameFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="uploadInfoMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="maxFileSize" required="true" rtexprvalue="true"%> +<%@ attribute name="tabindex" required="false" rtexprvalue="true"%> + + + + + + + + + + + + + + + + + + + + + +
+ <%-- font-size:inherit needed for Share Resources authoring or the button is too small --%> + + + + +
+

${maxFileSize}

+ + + + Index: lams_gradebook/web/WEB-INF/tags/WaitingSpinner.tag =================================================================== diff -u --- lams_gradebook/web/WEB-INF/tags/WaitingSpinner.tag (revision 0) +++ lams_gradebook/web/WEB-INF/tags/WaitingSpinner.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,17 @@ +<%@ taglib uri="tags-core" prefix="c"%> + +<%@ attribute name="id" required="false" rtexprvalue="true"%> +<%@ attribute name="showInline" required="false" rtexprvalue="true"%> + + + id="${id}" + + + + + + + + + + \ No newline at end of file Index: lams_gradebook/web/WEB-INF/tlds/lams/lams.tld =================================================================== diff -u -r1f99d03199a3995cfffe0cb1536c08f0220e88b0 -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_gradebook/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 1f99d03199a3995cfffe0cb1536c08f0220e88b0) +++ lams_gradebook/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -529,5 +529,13 @@ CommentsAuthor /WEB-INF/tags/CommentsAuthor.tag + + FileUpload + /WEB-INF/tags/FileUpload.tag + + + WaitingSpinner + /WEB-INF/tags/WaitingSpinner.tag + Index: lams_learning/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u -rb5ab72c783a98abeb08431bafb067ad4b9edf1df -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_learning/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision b5ab72c783a98abeb08431bafb067ad4b9edf1df) +++ lams_learning/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -123,7 +123,7 @@ }
- + Index: lams_learning/web/WEB-INF/tags/FileUpload.tag =================================================================== diff -u --- lams_learning/web/WEB-INF/tags/FileUpload.tag (revision 0) +++ lams_learning/web/WEB-INF/tags/FileUpload.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,56 @@ +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-function" prefix="fn" %> +<%@ taglib uri="tags-fmt" prefix="fmt" %> + +<%@ attribute name="fileFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputNameFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="uploadInfoMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="maxFileSize" required="true" rtexprvalue="true"%> +<%@ attribute name="tabindex" required="false" rtexprvalue="true"%> + + + + + + + + + + + + + + + + + + + + + +
+ <%-- font-size:inherit needed for Share Resources authoring or the button is too small --%> + + + + +
+

${maxFileSize}

+ + + + Index: lams_learning/web/WEB-INF/tags/WaitingSpinner.tag =================================================================== diff -u --- lams_learning/web/WEB-INF/tags/WaitingSpinner.tag (revision 0) +++ lams_learning/web/WEB-INF/tags/WaitingSpinner.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,17 @@ +<%@ taglib uri="tags-core" prefix="c"%> + +<%@ attribute name="id" required="false" rtexprvalue="true"%> +<%@ attribute name="showInline" required="false" rtexprvalue="true"%> + + + id="${id}" + + + + + + + + + + \ No newline at end of file Index: lams_learning/web/WEB-INF/tlds/lams/lams.tld =================================================================== diff -u -r1f99d03199a3995cfffe0cb1536c08f0220e88b0 -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_learning/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 1f99d03199a3995cfffe0cb1536c08f0220e88b0) +++ lams_learning/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -529,5 +529,13 @@ CommentsAuthor /WEB-INF/tags/CommentsAuthor.tag + + FileUpload + /WEB-INF/tags/FileUpload.tag + + + WaitingSpinner + /WEB-INF/tags/WaitingSpinner.tag + Index: lams_monitoring/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u -rb5ab72c783a98abeb08431bafb067ad4b9edf1df -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_monitoring/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision b5ab72c783a98abeb08431bafb067ad4b9edf1df) +++ lams_monitoring/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -123,7 +123,7 @@ }
- + Index: lams_monitoring/web/WEB-INF/tags/FileUpload.tag =================================================================== diff -u --- lams_monitoring/web/WEB-INF/tags/FileUpload.tag (revision 0) +++ lams_monitoring/web/WEB-INF/tags/FileUpload.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,56 @@ +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-function" prefix="fn" %> +<%@ taglib uri="tags-fmt" prefix="fmt" %> + +<%@ attribute name="fileFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputNameFieldname" required="false" rtexprvalue="true"%> +<%@ attribute name="fileInputMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="uploadInfoMessageKey" required="false" rtexprvalue="true"%> +<%@ attribute name="maxFileSize" required="true" rtexprvalue="true"%> +<%@ attribute name="tabindex" required="false" rtexprvalue="true"%> + + + + + + + + + + + + + + + + + + + + + +
+ <%-- font-size:inherit needed for Share Resources authoring or the button is too small --%> + + + + +
+

${maxFileSize}

+ + + + Index: lams_monitoring/web/WEB-INF/tags/WaitingSpinner.tag =================================================================== diff -u --- lams_monitoring/web/WEB-INF/tags/WaitingSpinner.tag (revision 0) +++ lams_monitoring/web/WEB-INF/tags/WaitingSpinner.tag (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -0,0 +1,17 @@ +<%@ taglib uri="tags-core" prefix="c"%> + +<%@ attribute name="id" required="false" rtexprvalue="true"%> +<%@ attribute name="showInline" required="false" rtexprvalue="true"%> + + + id="${id}" + + + + + + + + + + \ No newline at end of file Index: lams_monitoring/web/WEB-INF/tlds/lams/lams.tld =================================================================== diff -u -r1f99d03199a3995cfffe0cb1536c08f0220e88b0 -r81d7a938d96e090ff24c1bc662481cacc30f2f7a --- lams_monitoring/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 1f99d03199a3995cfffe0cb1536c08f0220e88b0) +++ lams_monitoring/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 81d7a938d96e090ff24c1bc662481cacc30f2f7a) @@ -529,5 +529,13 @@ CommentsAuthor /WEB-INF/tags/CommentsAuthor.tag + + FileUpload + /WEB-INF/tags/FileUpload.tag + + + WaitingSpinner + /WEB-INF/tags/WaitingSpinner.tag +