--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Fri Nov 30 16:40:26 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Fri Nov 30 16:43:13 2012 +0100
@@ -14,11 +14,6 @@
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.textchange.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery-ui.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/swfupload/swfupload.js"></script>
-
- <script type="text/javascript" src="{{ STATIC_URL }}chunked_uploads/js/jquery.ui.widget.js"></script>
- <script type="text/javascript" src="{{ STATIC_URL }}chunked_uploads/js/jquery.iframe-transport.js"></script>
- <script type="text/javascript" src="{{ STATIC_URL }}chunked_uploads/js/jquery.fileupload.js"></script>
- <script type="text/javascript" src="{{ STATIC_URL }}chunked_uploads/js/progress.js"></script>
{{ content_form.media.js }}
{% endblock %}
@@ -64,7 +59,6 @@
<link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/blueprint/screen.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/blueprint/print.css" type="text/css" media="print" />
<link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}/css/workspace.css" type="text/css"/>
- <link rel="stylesheet" href="{{ STATIC_URL }}chunked_uploads/css/chunked_upload.css" type="text/css"/>
{% endblock %}
@@ -114,17 +108,14 @@
<div>{{ content_form.media_input_type.errors }}{{ content_form.media_input_type.label_tag }}{{content_form.media_input_type}}</div>
<div id="media_fields_div">
<div id="media_field_link" class="media_fields">{{ content_form.media_obj.errors }}{{ content_form.media_obj.label_tag }}{{content_form.media_obj}}</div>
-
<div id="media_field_upload" class="media_fields">
- <input type="file" id="fileupload" name="files[]" accept="video/* wmv"/>
- <button class="Start"><span>{% trans 'Start' %}</span></button>
- <button class="Stop"><span>{% trans 'Stop' %}</span></button>
- <button class="cancel"><span>{% trans 'Cancel' %}</span></button>
- <div class="bar grey stripes">
- <span class="progress" style="width: 0%"></span>
- </div>
+ {{ media_form.media_file.errors }}
+ {% comment %}{{ media_form.media_file.label_tag }}{{media_form.media_file}}{% endcomment %}
+ <div id="upload_btn"></div>
+ <input type="text" name="media-local_file_name" id="id_media-local_file_name" readonly/>
+ <div id="upload_progress_bar"></div>
+ <div id="upload_progress_info"></div>
</div>
-
<div id="media_field_url" class="media_fields">{{ media_form.external_src_url.errors }}{{ media_form.external_src_url.label_tag }}{{ media_form.external_src_url }}</div>
<div id="media_field_create" class="media_fields">{{ media_form.src.errors }}{{ media_form.src.label_tag }}{{ media_form.src }}</div>
</div>
@@ -141,6 +132,7 @@
{% endif %}
{% include "ldt/ldt_utils/partial/picture.html"%}
{% include "ldt/ldt_utils/partial/permissions.html" %}
+
<div id="submitcontent" class="span-18 last">
<div id="submitcontent-loader" class="span-10">
--- a/src/ldt/ldt/static/ldt/js/projectscontents.js Fri Nov 30 16:40:26 2012 +0100
+++ b/src/ldt/ldt/static/ldt/js/projectscontents.js Fri Nov 30 16:43:13 2012 +0100
@@ -460,6 +460,81 @@
$("#upload_progress_bar").css({ width:"90%", height:"10" });
$('#media_fields_div').height(80);
+
+ // We init the swfupload object
+ swfupload = new SWFUpload({
+ debug: false,
+
+ upload_url: url_upload,
+ flash_url: media_prefix+"swf/swfupload.swf",
+
+ post_params: post_added_params,
+
+ button_placeholder_id: "upload_btn",
+ button_width: "60",
+ button_height: "16",
+ button_cursor: SWFUpload.CURSOR.HAND,
+ button_text : '<span class="btnText">' + btn_label + '</span>',
+ button_text_style : ".btnText { font-size: 12; font-family: Arial; }",
+
+ file_types : "*.flv;*.f4v;*.mp4;*.mov;*.mp3",
+ file_types_description : "Media Files (flv, f4v, mov H264, mp4, mp3)",
+ file_upload_limit : "1",
+ file_queue_limit : "1",
+
+ upload_error_handler : uploadError,
+ upload_start_handler : function(file) {
+ try {
+ if($('#upload_progress_info').children().size()>0){
+ $('#progress_info').remove();
+ }
+ $('#upload_progress_info').append('<p id="progress_info"><a href="javascript:cancelSwfUpload()">' + cancel_label + '.</a></p>');
+ }
+ catch (ex) {
+ //this.debug(ex);
+ }
+ },
+ upload_progress_handler : uploadProgress,
+ upload_success_handler : function() {
+ try {
+ if($('#upload_progress_info').children().size()>0){
+ $('#progress_info').remove();
+ }
+ $('#upload_progress_info').append('<p id="progress_info">' + success_label + '.</p>');
+ $("#upload_progress_bar > div").css({ 'background': '#90ffa8' });
+ window.upload_from_local_done = true;
+ // Now that the file is uploaded, we submit the form if asked
+ if(window.submit_asked==true){
+ $('#my_form').submit();
+ }
+ else{
+ // We ask the uploaded media's duration
+ if(window.ask_duration_url){
+ $.ajax({
+ type: "GET",
+ url: window.ask_duration_url,
+ data: "filename="+ $('#id_media-local_file_name').val(),
+ cache: false,
+ success: function(data, status, request){
+ if(data && data!=""){
+ $('#id_content-duration').val(data);
+ }
+ }
+ });
+ }
+ }
+ }
+ catch (ex) {
+ //this.debug(ex);
+ }
+ },
+ file_queued_handler : displayUploadPath,
+ file_dialog_complete_handler: function() {
+ window.submit_asked = false;
+ this.startUpload();
+ }
+ //upload_complete_handler: function() { this.startUpload(); },
+ });
}
function displayUploadPath(file) {
try {
@@ -469,6 +544,62 @@
//this.debug(ex);
}
}
+function startLocalUpload(){
+ swfupload.startUpload();
+}
+function uploadProgress(file, bytesLoaded, bytesTotal) {
+ try {
+ var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);
+ $("#upload_progress_bar").progressbar({ value: percent });
+ }
+ catch (ex) {
+ //this.debug(ex);
+ }
+}
+function cancelSwfUpload(){
+ swfupload.cancelUpload();
+ if($('#media_field_upload').has($('#cancelupload')).length==0){
+ $('#cancelupload').remove();
+ }
+}
+function uploadError(file, errorCode, message) {
+ try {
+ if($('#upload_progress_info').children().size()>0){
+ $('#progress_info').remove();
+ }
+ switch (errorCode) {
+ case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
+ $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: HTTP Error, File name: " + file.name + ", Message: " + message + '</p>');
+ break;
+ case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
+ $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: Upload Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message + '</p>');
+ break;
+ case SWFUpload.UPLOAD_ERROR.IO_ERROR:
+ $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: IO Error, File name: " + file.name + ", Message: " + message + '</p>');
+ break;
+ case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
+ $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: Security Error, File name: " + file.name + ", Message: " + message + '</p>');
+ break;
+ case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
+ $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message + '</p>');
+ break;
+ case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
+ $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: File Validation Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message + '</p>');
+ break;
+ case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
+ $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: FILE_CANCELLED" + '</p>');
+ break;
+ case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
+ $('#upload_progress_info').append('<p id="progress_info">' + "STOPPED" + '</p>');
+ break;
+ default:
+ $('#upload_progress_info').append('<p id="progress_info">' + "unhandled error: File name: " + file.name + ", File size: " + file.size + ", Message: " + message + '</p>');
+ break;
+ }
+ } catch (ex) {
+ //this.debug(ex);
+ }
+}
// Test the value of the URL from the form to load a picture in case it is a youtube video
function testUrlValue(e){