updated: jquery upload plugin (upload winix function)

git-svn-id: svn://ttmath.org/publicrep/winix/trunk@861 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2012-07-15 15:49:48 +00:00
parent 9830b0a50f
commit e98cca7fbc
6 changed files with 253 additions and 213 deletions

View File

@@ -26,127 +26,168 @@
[if-any-no winix_function_param_is "ckeditor_upload" winix_function_param_is "jquery_upload"]
<h1>{upload_header}</h1>
<div id="fileupload">
<form id="additem" method="post" action="[doc_base_url][dir]upload" enctype="multipart/form-data">
<fieldset>
<legend>{upload_form_legend}</legend>
<div class="fileupload-buttonbar">
<label class="fileinput-button">
<span>{upload_add_files}</span>
<input type="file" name="fileupload" multiple>
</label>
<button type="submit" class="start">{upload_start_upload}</button>
<button type="reset" class="cancel">{upload_cancel_upload}</button>
<button type="button" class="delete">{upload_delete_files}</button>
[# The file upload form used as target for the file upload widget]
<form id="fileupload" action="[doc_base_url][dir]upload" method="POST" enctype="multipart/form-data">
[# The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload]
<div class="row fileupload-buttonbar">
<div class="span7">
[# The fileinput-button span is used to style the file input field as button]
<span class="btn btn-success fileinput-button">
<i class="icon-plus icon-white"></i>
<span>{upload_button_add_files}</span>
<input type="file" name="files\[\]" multiple>
</span>
<button type="submit" class="btn btn-primary start">
<i class="icon-upload icon-white"></i>
<span>{upload_button_start_upload}</span>
</button>
<button type="reset" class="btn btn-warning cancel">
<i class="icon-ban-circle icon-white"></i>
<span>{upload_button_cancel_upload}</span>
</button>
<button type="button" class="btn btn-danger delete">
<i class="icon-trash icon-white"></i>
<span>{upload_button_delete}</span>
</button>
<input type="checkbox" class="toggle">
</div>
[# The global progress information]
<div class="span5 fileupload-progress fade">
[# The global progress bar]
<div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
<div class="bar" style="width:0%;"></div>
</div>
[# The extended global progress information]
<div class="progress-extended">&nbsp;</div>
</div>
</div>
[if false]
[if winix_function_param_is "multi"]
<p class="withnext">{upload_form_file_multi}</p>
<input size="68" class="edit" type="file" name="fileupload1">
<input size="68" class="edit" type="file" name="fileupload2">
<input size="68" class="edit" type="file" name="fileupload3">
<input size="68" class="edit" type="file" name="fileupload4">
<input size="68" class="edit" type="file" name="fileupload5">
[else]
<p class="withnext">{upload_form_file}</p>
<input size="68" class="edit" type="file" name="fileupload">
<p class="withnext">{title}:</p>
<input class="edit" type="text" name="subject" value="[item_subject]">
<p class="withnext">{suggested_url}:</p>
<input class="edit" type="text" name="url" value="[item_url]">
[include "fun_emacs_post.html"]
[end]
[end]
[if-no user_logged]
<p class="withnext">{nick}:</p>
<input class="edit" type="text" name="guestname" value="[item_guest_name]">
<p class="withnext">{rebus_how_is_it} [rebus_question]?</p>
<input class="edit" type="text" name="rebus">
[end]
[# The loading indicator is shown during file processing]
<div class="fileupload-loading"></div>
<br>
[# The table listing the files available for upload/download]
<table role="presentation" class="table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody></table>
</form>
[if false]<input class="submit" type="submit" value="{upload_submit}">[end]
</fieldset>
</form>
<div class="fileupload-content">
<table class="files"></table>
<div class="fileupload-progressbar"></div>
</div>
<script id="template-upload" type="text/x-jquery-tmpl">
<tr class="template-upload\{\{if error\}\} ui-state-error\{\{/if\}\}">
<td class="preview"></td>
<td class="name">$\{name\}</td>
<td class="size">$\{sizef\}</td>
\{\{if error\}\}
<td class="error" colspan="2">{upload_error}:
\{\{if error === 'maxFileSize'\}\}{upload_file_too_big}
\{\{else error === 'minFileSize'\}\}{upload_file_too_small}
\{\{else error === 'acceptFileTypes'\}\}{upload_filetype_not_allowed}
\{\{else error === 'maxNumberOfFiles'\}\}{upload_max_files_exceeded}
\{\{else\}\}$\{error\}
\{\{/if\}\}
</td>
\{\{else\}\}
<td class="progress"><div></div></td>
<td class="start"><button>{upload_start}</button></td>
\{\{/if\}\}
<td class="cancel"><button>{upload_cancel}</button></td>
</tr>
</script>
<script id="template-download" type="text/x-jquery-tmpl">
<tr class="template-download\{\{if error\}\} ui-state-error\{\{/if\}\}">
\{\{if error\}\}
<td></td>
<td class="name">$\{name\}</td>
<td class="size">$\{sizef\}</td>
<td class="error" colspan="2">{upload_error}:
\{\{if error === 1\}\}{upload_file_too_big}
\{\{else error === 2\}\}{upload_file_too_big}
\{\{else error === 3\}\}{upload_partial}
\{\{else error === 4\}\}{upload_no_file}
\{\{else error === 5\}\}{upload_missing_tmp_folder}
\{\{else error === 6\}\}{upload_disc_failded}
\{\{else error === 7\}\}{upload_extenstion_stop}
\{\{else error === 'maxFileSize'\}\}{upload_file_too_big}
\{\{else error === 'minFileSize'\}\}{upload_file_too_small}
\{\{else error === 'acceptFileTypes'\}\}Filetype not allowed
\{\{else error === 'maxNumberOfFiles'\}\}{upload_filetype_not_allowed}
\{\{else error === 'uploadedBytes'\}\}{upload_bytes_exceed_file_size}
\{\{else error === 'emptyResult'\}\}{upload_empty_result}
\{\{else\}\}$\{error\}
\{\{/if\}\}
</td>
\{\{else\}\}
<td class="preview">
\{\{if thumbnail_url\}\}
<a href="$\{url\}/cat" target="_blank"><img src="$\{thumbnail_url\}"></a>
\{\{/if\}\}
</td>
<td class="name">
<a href="$\{url\}/cat"\{\{if thumbnail_url\}\} target="_blank"\{\{/if\}\}>$\{name\}</a>
</td>
<td class="size">$\{sizef\}</td>
<!--<td class="url">$\{url\}</td>-->
<td colspan="2"></td>
\{\{/if\}\}
<td class="delete">
<button data-type="$\{delete_type\}" data-url="$\{delete_url\}">{upload_delete}</button>
</td>
</tr>
</script>
[# modal-gallery is the modal dialog used for the image gallery]
<div id="modal-gallery" class="modal modal-gallery hide fade" data-filter=":odd">
<div class="modal-header">
<a class="close" data-dismiss="modal">&times;</a>
<h3 class="modal-title"></h3>
</div>
<div class="modal-body"><div class="modal-image"></div></div>
<div class="modal-footer">
<a class="btn modal-download" target="_blank">
<i class="icon-download"></i>
<span>{upload_button_download}</span>
</a>
<a class="btn btn-success modal-play modal-slideshow" data-slideshow="5000">
<i class="icon-play icon-white"></i>
<span>{upload_button_slideshow}</span>
</a>
<a class="btn btn-info modal-prev">
<i class="icon-arrow-left icon-white"></i>
<span>{upload_button_previous}</span>
</a>
<a class="btn btn-primary modal-next">
<span>{upload_button_next}</span>
<i class="icon-arrow-right icon-white"></i>
</a>
</div>
</div>
[# The template to display files available for upload]
<script id="template-upload" type="text/x-tmpl">
\{% for (var i=0, file; file=o.files\[i\]; i++) \{ %\}
<tr class="template-upload fade">
<td class="preview"><span class="fade"></span></td>
<td class="name"><span>\{%=file.name%\}</span></td>
<td class="size"><span>\{%=o.formatFileSize(file.size)%\}</span></td>
\{% if (file.error) \{ %\}
<td class="error" colspan="2"><span class="label label-important">\{%=locale.fileupload.error%\}</span> \{%=locale.fileupload.errors\[file.error\] || file.error%\}</td>
\{% \} else if (o.files.valid && !i) \{ %\}
<td>
<div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div>
</td>
<td class="start">\{% if (!o.options.autoUpload) \{ %\}
<button class="btn btn-primary">
<i class="icon-upload icon-white"></i>
<span>\{%=locale.fileupload.start%\}</span>
</button>
\{% \} %\}</td>
\{% \} else \{ %\}
<td colspan="2"></td>
\{% \} %\}
<td class="cancel">\{% if (!i) \{ %\}
<button class="btn btn-warning">
<i class="icon-ban-circle icon-white"></i>
<span>\{%=locale.fileupload.cancel%\}</span>
</button>
\{% \} %\}</td>
</tr>
\{% \} %\}
</script>
[# The template to display files available for download]
<script id="template-download" type="text/x-tmpl">
\{% for (var i=0, file; file=o.files\[i\]; i++) \{ %\}
<tr class="template-download fade">
\{% if (file.error) \{ %\}
<td></td>
<td class="name"><span>\{%=file.name%\}</span></td>
<td class="size"><span>\{%=o.formatFileSize(file.size)%\}</span></td>
<td class="error" colspan="2"><span class="label label-important">\{%=locale.fileupload.error%\}</span> \{%=locale.fileupload.errors\[file.error\] || file.error%\}</td>
\{% \} else \{ %\}
<td class="preview">\{% if (file.thumbnail_url) \{ %\}
<a href="\{%=file.url%\}" title="\{%=file.name%\}" rel="gallery" download="\{%=file.name%\}"><img src="\{%=file.thumbnail_url%\}"></a>
\{% \} %\}</td>
<td class="name">
<a href="\{%=file.url%\}" title="\{%=file.name%\}" rel="\{%=file.thumbnail_url&&'gallery'%\}" download="\{%=file.name%\}">\{%=file.name%\}</a>
</td>
<td class="size"><span>\{%=o.formatFileSize(file.size)%\}</span></td>
<td colspan="2"></td>
\{% \} %\}
<td class="delete">
<button class="btn btn-danger" data-type="\{%=file.delete_type%\}" data-url="\{%=file.delete_url%\}">
<i class="icon-trash icon-white"></i>
<span>{upload_button_delete}</span>
</button>
<input type="checkbox" name="delete" value="1">
</td>
</tr>
\{% \} %\}
</script>
</div>
<script type="text/javascript">
$('#fileupload button.start').css('display', 'none');
$('#fileupload').fileupload(\{
"url": "[doc_base_url][dir]upload/jquery_upload",
"autoUpload": true
\});
$('#fileupload').fileupload(
'option',
'redirect',
window.location.href.replace(
/\/\[^\/\]*$/,
'/cors/result.html?%s'
)
);
$('#fileupload').each(function () \{
var that = this;
$.getJSON(this.action + '/jquery_upload', function (result) \{
if (result && result.length) \{
$(that).fileupload('option', 'done')
.call(that, null, \{result: result\});
\}
\});
\});</script>
[end]