add support for fine-uploader as a replacement for the old jumploader

This commit is contained in:
Uwe Steinmann 2017-01-30 13:17:58 +01:00
parent 1314f27660
commit 196725042d
43 changed files with 23308 additions and 35 deletions

View File

@ -258,6 +258,23 @@ if($settings->_dropFolderDir) {
}
}
if(isset($_POST['fineuploaderuuids']) && $_POST['fineuploaderuuids']) {
$uuids = explode(';', $_POST['fineuploaderuuids']);
$names = explode(';', $_POST['fineuploadernames']);
foreach($uuids as $i=>$uuid) {
$fullfile = $settings->_stagingDir.'/'.basename($uuid);
if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile;
$_FILES["userfile"]['type'][] = $mimetype;
$_FILES["userfile"]['name'][] = isset($names[$i]) ? $names[$i] : $uuid;
$_FILES["userfile"]['size'][] = filesize($fullfile);
$_FILES["userfile"]['error'][] = 0;
}
}
}
/* Check files for Errors first */
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
if ($_FILES["userfile"]["size"][$file_num]==0) {

64
op/op.UploadChunks.php Normal file
View File

@ -0,0 +1,64 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2106 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Authentication.php");
//print_r($_FILES);
//print_r($_POST);
//exit;
$file_param_name = 'qqfile';
$file_name = $_FILES[ $file_param_name ][ 'name' ];
$source_file_path = $_FILES[ $file_param_name ][ 'tmp_name' ];
$fileId = $_POST['qquuid'];
$partitionIndex = (int) $_POST['qqpartindex'];
$totalparts = (int) $_POST['qqtotalparts'];
$target_file_path =$settings->_stagingDir.$fileId."-".$partitionIndex;
if( move_uploaded_file( $source_file_path, $target_file_path ) ) {
if($partitionIndex+1 == $totalparts) {
if($fpnew = fopen($settings->_stagingDir.$fileId, 'w+')) {
for($i=0; $i<$totalparts; $i++) {
$content = file_get_contents($settings->_stagingDir.$fileId."-".$i, 'r');
fwrite($fpnew, $content);
unlink($settings->_stagingDir.$fileId."-".$i);
}
fclose($fpnew);
header("Content-Type: text/plain");
echo json_encode(array('success'=>true));
exit;
} else {
header("Content-Type: text/plain");
echo json_encode(array('success'=>false, 'error'=>'Could not upload file'));
exit;
}
}
header("Content-Type: text/plain");
echo json_encode(array('success'=>true));
exit;
}
header("Content-Type: text/plain");
echo json_encode(array('success'=>false, 'error'=>'Could not upload file'));
?>

View File

@ -198,6 +198,45 @@ div.popupbox span.closepopupbox {
top: 0px;
}
ul.qq-upload-list {
/*
background-color: #fff;
border-radius: 4px;
border: 1px solid #cccccc;
*/
}
ul.qq-upload-list li {
display: inline-block;
margin: 5px 5px 5px 0;
padding: 5px;
background-color: #fff;
border: 1px solid #cccccc;
border-radius: 4px;
}
ul.qq-upload-list li img {
display: block;
}
ul.qq-upload-list li span {
display: block;
}
.qq-upload-button {
display: inline-block;
}
.qq-upload-drop-area {
display: inline-block;
width: 200px;
height: 22px;
padding: 3px;
background-color: #fff;
border: 1px solid #cccccc;
border-radius: 4px;
}
@media (max-width: 480px) {
.nav-tabs > li {
float:none;

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2013-present, Widen Enterprises, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

View File

@ -0,0 +1,471 @@
/* ---------------------------------------
/* Fine Uploader Gallery View Styles
/* ---------------------------------------
/* Buttons
------------------------------------------ */
.qq-gallery .qq-btn
{
float: right;
border: none;
padding: 0;
margin: 0;
box-shadow: none;
}
/* Upload Button
------------------------------------------ */
.qq-gallery .qq-upload-button {
display: inline;
width: 105px;
padding: 7px 10px;
float: left;
text-align: center;
background: #00ABC7;
color: #FFFFFF;
border-radius: 2px;
border: 1px solid #37B7CC;
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.37) inset,
1px 0 1px rgba(255, 255, 255, 0.07) inset,
0 1px 0 rgba(0, 0, 0, 0.36),
0 -2px 12px rgba(0, 0, 0, 0.08) inset
}
.qq-gallery .qq-upload-button-hover {
background: #33B6CC;
}
.qq-gallery .qq-upload-button-focus {
outline: 1px dotted #000000;
}
/* Drop Zone
------------------------------------------ */
.qq-gallery.qq-uploader {
position: relative;
min-height: 200px;
max-height: 490px;
overflow-y: hidden;
width: inherit;
border-radius: 6px;
border: 1px dashed #CCCCCC;
background-color: #FAFAFA;
padding: 20px;
}
.qq-gallery.qq-uploader:before {
content: attr(qq-drop-area-text) " ";
position: absolute;
font-size: 200%;
left: 0;
width: 100%;
text-align: center;
top: 45%;
opacity: 0.25;
filter: alpha(opacity=25);
}
.qq-gallery .qq-upload-drop-area, .qq-upload-extra-drop-area {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
min-height: 30px;
z-index: 2;
background: #F9F9F9;
border-radius: 4px;
text-align: center;
}
.qq-gallery .qq-upload-drop-area span {
display: block;
position: absolute;
top: 50%;
width: 100%;
margin-top: -8px;
font-size: 16px;
}
.qq-gallery .qq-upload-extra-drop-area {
position: relative;
margin-top: 50px;
font-size: 16px;
padding-top: 30px;
height: 20px;
min-height: 40px;
}
.qq-gallery .qq-upload-drop-area-active {
background: #FDFDFD;
border-radius: 4px;
}
.qq-gallery .qq-upload-list {
margin: 0;
padding: 10px 0 0;
list-style: none;
max-height: 450px;
overflow-y: auto;
clear: both;
box-shadow: none;
}
/* Uploaded Elements
------------------------------------------ */
.qq-gallery .qq-upload-list li {
display: inline-block;
position: relative;
max-width: 120px;
margin: 0 25px 25px 0;
padding: 0;
line-height: 16px;
font-size: 13px;
color: #424242;
background-color: #FFFFFF;
border-radius: 2px;
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.22);
vertical-align: top;
/* to ensure consistent size of tiles - may need to change if qq-max-size attr on preview img changes */
height: 186px;
}
.qq-gallery .qq-upload-spinner,
.qq-gallery .qq-upload-size,
.qq-gallery .qq-upload-retry,
.qq-gallery .qq-upload-failed-text,
.qq-gallery .qq-upload-delete,
.qq-gallery .qq-upload-pause,
.qq-gallery .qq-upload-continue {
display: inline;
}
.qq-gallery .qq-upload-retry:hover,
.qq-gallery .qq-upload-delete:hover,
.qq-gallery .qq-upload-pause:hover,
.qq-gallery .qq-upload-continue:hover {
background-color: transparent;
}
.qq-gallery .qq-upload-delete,
.qq-gallery .qq-upload-pause,
.qq-gallery .qq-upload-continue,
.qq-gallery .qq-upload-cancel {
cursor: pointer;
}
.qq-gallery .qq-upload-delete,
.qq-gallery .qq-upload-pause,
.qq-gallery .qq-upload-continue {
border:none;
background: none;
color: #00A0BA;
font-size: 12px;
padding: 0;
}
/* to ensure consistent size of tiles - only display status text before auto-retry or after failure */
.qq-gallery .qq-upload-status-text {
color: #333333;
font-size: 12px;
padding-left: 3px;
padding-top: 2px;
width: inherit;
display: none;
width: 108px;
}
.qq-gallery .qq-upload-fail .qq-upload-status-text {
text-overflow: ellipsis;
white-space: nowrap;
overflow-x: hidden;
display: block;
}
.qq-gallery .qq-upload-retrying .qq-upload-status-text {
display: inline-block;
}
.qq-gallery .qq-upload-retrying .qq-progress-bar-container {
display: none;
}
.qq-gallery .qq-upload-cancel {
background-color: #525252;
color: #F7F7F7;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
border-radius: 12px;
border: none;
height: 22px;
width: 22px;
padding: 4px;
position: absolute;
right: -5px;
top: -6px;
margin: 0;
line-height: 17px;
}
.qq-gallery .qq-upload-cancel:hover {
background-color: #525252;
}
.qq-gallery .qq-upload-retry {
cursor: pointer;
position: absolute;
top: 30px;
left: 50%;
margin-left: -31px;
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.37) inset,
1px 0 1px rgba(255, 255, 255, 0.07) inset,
0 4px 4px rgba(0, 0, 0, 0.5),
0 -2px 12px rgba(0, 0, 0, 0.08) inset;
padding: 3px 4px;
border: 1px solid #d2ddc7;
border-radius: 2px;
color: inherit;
background-color: #EBF6E0;
z-index: 1;
}
.qq-gallery .qq-upload-retry:hover {
background-color: #f7ffec;
}
.qq-gallery .qq-file-info {
padding: 10px 6px 4px;
margin-top: -3px;
border-radius: 0 0 2px 2px;
text-align: left;
overflow: hidden;
}
.qq-gallery .qq-file-info .qq-file-name {
position: relative;
}
.qq-gallery .qq-upload-file {
display: block;
margin-right: 0;
margin-bottom: 3px;
width: auto;
/* to ensure consistent size of tiles - constrain text to single line */
text-overflow: ellipsis;
white-space: nowrap;
overflow-x: hidden;
}
.qq-gallery .qq-upload-spinner {
display: inline-block;
background: url("loading.gif");
position: absolute;
left: 50%;
margin-left: -7px;
top: 53px;
width: 15px;
height: 15px;
vertical-align: text-bottom;
}
.qq-gallery .qq-drop-processing {
display: block;
}
.qq-gallery .qq-drop-processing-spinner {
display: inline-block;
background: url("processing.gif");
width: 24px;
height: 24px;
vertical-align: text-bottom;
}
.qq-gallery .qq-upload-failed-text {
display: none;
font-style: italic;
font-weight: bold;
}
.qq-gallery .qq-upload-failed-icon {
display:none;
width:15px;
height:15px;
vertical-align:text-bottom;
}
.qq-gallery .qq-upload-fail .qq-upload-failed-text {
display: inline;
}
.qq-gallery .qq-upload-retrying .qq-upload-failed-text {
display: inline;
}
.qq-gallery .qq-upload-list li.qq-upload-success {
background-color: #F2F7ED;
}
.qq-gallery .qq-upload-list li.qq-upload-fail {
background-color: #F5EDED;
box-shadow: 0 0 1px 0 red;
border: 0;
}
.qq-gallery .qq-progress-bar {
display: block;
background: #00abc7;
width: 0%;
height: 15px;
border-radius: 6px;
margin-bottom: 3px;
}
.qq-gallery .qq-total-progress-bar {
height: 25px;
border-radius: 9px;
}
.qq-gallery .qq-total-progress-bar-container {
margin-left: 9px;
display: inline;
float: right;
width: 500px;
}
.qq-gallery .qq-upload-size {
float: left;
font-size: 11px;
color: #929292;
margin-bottom: 3px;
margin-right: 0;
display: inline-block;
}
.qq-gallery INPUT.qq-edit-filename {
position: absolute;
opacity: 0;
filter: alpha(opacity=0);
z-index: -1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.qq-gallery .qq-upload-file.qq-editable {
cursor: pointer;
margin-right: 20px;
}
.qq-gallery .qq-edit-filename-icon.qq-editable {
display: inline-block;
cursor: pointer;
position: absolute;
right: 0;
top: 0;
}
.qq-gallery INPUT.qq-edit-filename.qq-editing {
position: static;
height: 28px;
width: 90px;
width: -moz-available;
padding: 0 8px;
margin-bottom: 3px;
border: 1px solid #ccc;
border-radius: 2px;
font-size: 13px;
opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.qq-gallery .qq-edit-filename-icon {
display: none;
background: url("edit.gif");
width: 15px;
height: 15px;
vertical-align: text-bottom;
}
.qq-gallery .qq-delete-icon {
background: url("trash.gif");
width: 15px;
height: 15px;
vertical-align: sub;
display: inline-block;
}
.qq-gallery .qq-retry-icon {
background: url("retry.gif");
width: 15px;
height: 15px;
vertical-align: sub;
display: inline-block;
float: none;
}
.qq-gallery .qq-continue-icon {
background: url("continue.gif");
width: 15px;
height: 15px;
vertical-align: sub;
display: inline-block;
}
.qq-gallery .qq-pause-icon {
background: url("pause.gif");
width: 15px;
height: 15px;
vertical-align: sub;
display: inline-block;
}
.qq-gallery .qq-hide {
display: none;
}
/* Thumbnail
------------------------------------------ */
.qq-gallery .qq-in-progress .qq-thumbnail-wrapper {
/* makes the spinner on top of the thumbnail more visible */
opacity: 0.5;
filter: alpha(opacity=50);
}
.qq-gallery .qq-thumbnail-wrapper {
overflow: hidden;
position: relative;
/* to ensure consistent size of tiles - should match qq-max-size attribute value on qq-thumbnail-selector IMG element */
height: 120px;
width: 120px;
}
.qq-gallery .qq-thumbnail-selector {
border-radius: 2px 2px 0 0;
bottom: 0;
/* we will override this in the :root thumbnail selector (to help center the preview) for everything other than IE8 */
top: 0;
/* center the thumb horizontally in the tile */
margin:auto;
display: block;
}
/* hack to ensure we don't try to center preview in IE8, since -ms-filter doesn't mimic translateY as expected in all cases */
:root *> .qq-gallery .qq-thumbnail-selector {
/* vertically center preview image on tile */
position: relative;
top: 50%;
transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
}
/* <dialog> element styles */
.qq-gallery.qq-uploader DIALOG {
display: none;
}
.qq-gallery.qq-uploader DIALOG[open] {
display: block;
}
.qq-gallery.qq-uploader DIALOG {
display: none;
}
.qq-gallery.qq-uploader DIALOG[open] {
display: block;
}
.qq-gallery.qq-uploader DIALOG .qq-dialog-buttons {
text-align: center;
padding-top: 10px;
}
.qq-gallery.qq-uploader DIALOG .qq-dialog-buttons BUTTON {
margin-left: 5px;
margin-right: 5px;
}
.qq-gallery.qq-uploader DIALOG .qq-dialog-message-selector {
padding-bottom: 10px;
}
.qq-gallery .qq-uploader DIALOG::backdrop {
background-color: rgba(0, 0, 0, 0.7);
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"sources":["_build/fine-uploader-gallery.css"],"names":[],"mappings":"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"}

View File

@ -0,0 +1,354 @@
/* ---------------------------------------
/* Fine Uploader Styles
/* ---------------------------------------
/* Buttons
------------------------------------------ */
.qq-btn
{
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.37) inset,
1px 0 1px rgba(255, 255, 255, 0.07) inset,
0 1px 0 rgba(0, 0, 0, 0.36),
0 -2px 12px rgba(0, 0, 0, 0.08) inset;
padding: 3px 4px;
border: 1px solid #CCCCCC;
border-radius: 2px;
color: inherit;
background-color: #FFFFFF;
}
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
display: inline;
}
.qq-upload-delete
{
background-color: #e65c47;
color: #FAFAFA;
border-color: #dc523d;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55);
}
.qq-upload-delete:hover {
background-color: #f56b56;
}
.qq-upload-cancel
{
background-color: #F5D7D7;
border-color: #e6c8c8;
}
.qq-upload-cancel:hover {
background-color: #ffe1e1;
}
.qq-upload-retry
{
background-color: #EBF6E0;
border-color: #d2ddc7;
}
.qq-upload-retry:hover {
background-color: #f7ffec;
}
.qq-upload-pause, .qq-upload-continue {
background-color: #00ABC7;
color: #FAFAFA;
border-color: #2dadc2;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55);
}
.qq-upload-pause:hover, .qq-upload-continue:hover {
background-color: #0fbad6;
}
/* Upload Button
------------------------------------------ */
.qq-upload-button {
display: inline;
width: 105px;
margin-bottom: 10px;
padding: 7px 10px;
text-align: center;
float: left;
background: #00ABC7;
color: #FFFFFF;
border-radius: 2px;
border: 1px solid #2dadc2;
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.37) inset,
1px 0 1px rgba(255, 255, 255, 0.07) inset,
0 1px 0 rgba(0, 0, 0, 0.36),
0 -2px 12px rgba(0, 0, 0, 0.08) inset;
}
.qq-upload-button-hover {
background: #33B6CC;
}
.qq-upload-button-focus {
outline: 1px dotted #000000;
}
/* Drop Zone
------------------------------------------ */
.qq-uploader {
position: relative;
min-height: 200px;
max-height: 490px;
overflow-y: hidden;
width: inherit;
border-radius: 6px;
background-color: #FDFDFD;
border: 1px dashed #CCCCCC;
padding: 20px;
}
.qq-uploader:before {
content: attr(qq-drop-area-text) " ";
position: absolute;
font-size: 200%;
left: 0;
width: 100%;
text-align: center;
top: 45%;
opacity: 0.25;
}
.qq-upload-drop-area, .qq-upload-extra-drop-area {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
min-height: 30px;
z-index: 2;
background: #F9F9F9;
border-radius: 4px;
border: 1px dashed #CCCCCC;
text-align: center;
}
.qq-upload-drop-area span {
display: block;
position: absolute;
top: 50%;
width: 100%;
margin-top: -8px;
font-size: 16px;
}
.qq-upload-extra-drop-area {
position: relative;
margin-top: 50px;
font-size: 16px;
padding-top: 30px;
height: 20px;
min-height: 40px;
}
.qq-upload-drop-area-active {
background: #FDFDFD;
border-radius: 4px;
border: 1px dashed #CCCCCC;
}
.qq-upload-list {
margin: 0;
padding: 0;
list-style: none;
max-height: 450px;
overflow-y: auto;
box-shadow: 0px 1px 0px rgba(15, 15, 50, 0.14);
clear: both;
}
/* Uploaded Elements
------------------------------------------ */
.qq-upload-list li {
margin: 0;
padding: 9px;
line-height: 15px;
font-size: 16px;
color: #424242;
background-color: #F6F6F6;
border-top: 1px solid #FFFFFF;
border-bottom: 1px solid #DDDDDD;
}
.qq-upload-list li:first-child {
border-top: none;
}
.qq-upload-list li:last-child {
border-bottom: none;
}
.qq-upload-file, .qq-upload-spinner, .qq-upload-size,
.qq-upload-cancel, .qq-upload-retry, .qq-upload-failed-text,
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
margin-right: 12px;
display: inline;
}
.qq-upload-file {
vertical-align: middle;
display: inline-block;
width: 300px;
text-overflow: ellipsis;
white-space: nowrap;
overflow-x: hidden;
height: 18px;
}
.qq-upload-spinner {
display: inline-block;
background: url("loading.gif");
width: 15px;
height: 15px;
vertical-align: text-bottom;
}
.qq-drop-processing {
display: block;
}
.qq-drop-processing-spinner {
display: inline-block;
background: url("processing.gif");
width: 24px;
height: 24px;
vertical-align: text-bottom;
}
.qq-upload-size, .qq-upload-cancel, .qq-upload-retry,
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
font-size: 12px;
font-weight: normal;
cursor: pointer;
vertical-align: middle;
}
.qq-upload-status-text {
font-size: 14px;
font-weight: bold;
display: block;
}
.qq-upload-failed-text {
display: none;
font-style: italic;
font-weight: bold;
}
.qq-upload-failed-icon {
display:none;
width:15px;
height:15px;
vertical-align:text-bottom;
}
.qq-upload-fail .qq-upload-failed-text {
display: inline;
}
.qq-upload-retrying .qq-upload-failed-text {
display: inline;
}
.qq-upload-list li.qq-upload-success {
background-color: #EBF6E0;
color: #424242;
border-bottom: 1px solid #D3DED1;
border-top: 1px solid #F7FFF5;
}
.qq-upload-list li.qq-upload-fail {
background-color: #F5D7D7;
color: #424242;
border-bottom: 1px solid #DECACA;
border-top: 1px solid #FCE6E6;
}
.qq-progress-bar {
display: block;
display: block;
background: #00abc7;
width: 0%;
height: 15px;
border-radius: 6px;
margin-bottom: 3px;
}
.qq-total-progress-bar {
height: 25px;
border-radius: 9px;
}
.qq-total-progress-bar-container {
margin-left: 9px;
display: inline;
float: right;
width: 500px;
}
INPUT.qq-edit-filename {
position: absolute;
opacity: 0;
filter: alpha(opacity=0);
z-index: -1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.qq-upload-file.qq-editable {
cursor: pointer;
margin-right: 4px;
}
.qq-edit-filename-icon.qq-editable {
display: inline-block;
cursor: pointer;
}
INPUT.qq-edit-filename.qq-editing {
position: static;
height: 28px;
padding: 0 8px;
margin-right: 10px;
margin-bottom: -5px;
border: 1px solid #ccc;
border-radius: 2px;
font-size: 16px;
opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.qq-edit-filename-icon {
display: none;
background: url("edit.gif");
width: 15px;
height: 15px;
vertical-align: text-bottom;
margin-right: 16px;
}
.qq-hide {
display: none;
}
/* Thumbnail
------------------------------------------ */
.qq-thumbnail-selector {
vertical-align: middle;
margin-right: 12px;
}
/* <dialog> element styles */
.qq-uploader DIALOG {
display: none;
}
.qq-uploader DIALOG[open] {
display: block;
}
.qq-uploader DIALOG {
display: none;
}
.qq-uploader DIALOG[open] {
display: block;
}
.qq-uploader DIALOG .qq-dialog-buttons {
text-align: center;
padding-top: 10px;
}
.qq-uploader DIALOG .qq-dialog-buttons BUTTON {
margin-left: 5px;
margin-right: 5px;
}
.qq-uploader DIALOG .qq-dialog-message-selector {
padding-bottom: 10px;
}
.qq-uploader DIALOG::backdrop {
background-color: rgba(0, 0, 0, 0.7);
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"sources":["_build/fine-uploader-new.css"],"names":[],"mappings":"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"}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,225 @@
.qq-uploader {
position: relative;
width: 100%;
}
.qq-upload-button {
display: block;
width: 105px;
padding: 7px 0;
text-align: center;
background: #880000;
border-bottom: 1px solid #DDD;
color: #FFF;
}
.qq-upload-button-hover {
background: #CC0000;
}
.qq-upload-button-focus {
outline: 1px dotted #000000;
}
.qq-upload-drop-area, .qq-upload-extra-drop-area {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
min-height: 30px;
z-index: 2;
background: #FF9797;
text-align: center;
}
.qq-upload-drop-area span {
display: block;
position: absolute;
top: 50%;
width: 100%;
margin-top: -8px;
font-size: 16px;
}
.qq-upload-extra-drop-area {
position: relative;
margin-top: 50px;
font-size: 16px;
padding-top: 30px;
height: 20px;
min-height: 40px;
}
.qq-upload-drop-area-active {
background: #FF7171;
}
.qq-upload-list {
margin: 0;
padding: 0;
list-style: none;
}
.qq-upload-list li {
margin: 0;
padding: 9px;
line-height: 15px;
font-size: 16px;
background-color: #FFF0BD;
}
.qq-upload-file, .qq-upload-spinner, .qq-upload-size,
.qq-upload-cancel, .qq-upload-retry, .qq-upload-failed-text,
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
margin-right: 12px;
display: inline;
}
.qq-upload-file {
}
.qq-upload-spinner {
display: inline-block;
background: url("loading.gif");
width: 15px;
height: 15px;
vertical-align: text-bottom;
}
.qq-drop-processing {
display: block;
}
.qq-drop-processing-spinner {
display: inline-block;
background: url("processing.gif");
width: 24px;
height: 24px;
vertical-align: text-bottom;
}
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
display: inline;
}
.qq-upload-retry, .qq-upload-delete, .qq-upload-cancel,
.qq-upload-pause, .qq-upload-continue {
color: #000000;
}
.qq-upload-size, .qq-upload-cancel, .qq-upload-retry,
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
font-size: 12px;
font-weight: normal;
}
.qq-upload-failed-text {
display: none;
font-style: italic;
font-weight: bold;
}
.qq-upload-failed-icon {
display:none;
width:15px;
height:15px;
vertical-align:text-bottom;
}
.qq-upload-fail .qq-upload-failed-text {
display: inline;
}
.qq-upload-retrying .qq-upload-failed-text {
display: inline;
color: #D60000;
}
.qq-upload-list li.qq-upload-success {
background-color: #5DA30C;
color: #FFFFFF;
}
.qq-upload-list li.qq-upload-fail {
background-color: #D60000;
color: #FFFFFF;
}
.qq-progress-bar {
display: block;
background: -moz-linear-gradient(top, rgba(30,87,153,1) 0%, rgba(41,137,216,1) 50%, rgba(32,124,202,1) 51%, rgba(125,185,232,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,1)), color-stop(50%,rgba(41,137,216,1)), color-stop(51%,rgba(32,124,202,1)), color-stop(100%,rgba(125,185,232,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* W3C */
width: 0%;
height: 15px;
border-radius: 6px;
margin-bottom: 3px;
}
.qq-total-progress-bar {
height: 25px;
border-radius: 9px;
}
.qq-total-progress-bar-container {
margin: 9px;
}
INPUT.qq-edit-filename {
position: absolute;
opacity: 0;
filter: alpha(opacity=0);
z-index: -1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.qq-upload-file.qq-editable {
cursor: pointer;
}
.qq-edit-filename-icon.qq-editable {
display: inline-block;
cursor: pointer;
}
INPUT.qq-edit-filename.qq-editing {
position: static;
margin-top: -5px;
margin-right: 10px;
margin-bottom: -5px;
opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.qq-edit-filename-icon {
display: none;
background: url("edit.gif");
width: 15px;
height: 15px;
vertical-align: text-bottom;
margin-right: 5px;
}
.qq-hide {
display: none;
}
/* <dialog> element styles */
.qq-uploader DIALOG {
display: none;
}
.qq-uploader DIALOG[open] {
display: block;
}
.qq-uploader DIALOG {
display: none;
}
.qq-uploader DIALOG[open] {
display: block;
}
.qq-uploader DIALOG .qq-dialog-buttons {
text-align: center;
padding-top: 10px;
}
.qq-uploader DIALOG .qq-dialog-buttons BUTTON {
margin-left: 5px;
margin-right: 5px;
}
.qq-uploader DIALOG .qq-dialog-message-selector {
padding-bottom: 10px;
}
.qq-uploader DIALOG::backdrop {
background-color: rgba(0, 0, 0, 0.7);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.qq-uploader{position:relative;width:100%}.qq-upload-button{display:block;width:105px;padding:7px 0;text-align:center;background:#800;border-bottom:1px solid #DDD;color:#FFF}.qq-upload-button-hover{background:#C00}.qq-upload-button-focus{outline:#000 dotted 1px}.qq-upload-drop-area,.qq-upload-extra-drop-area{position:absolute;top:0;left:0;width:100%;height:100%;min-height:30px;z-index:2;background:#FF9797;text-align:center}.qq-upload-drop-area span{display:block;position:absolute;top:50%;width:100%;margin-top:-8px;font-size:16px}.qq-upload-extra-drop-area{position:relative;margin-top:50px;font-size:16px;padding-top:30px;height:20px;min-height:40px}.qq-upload-drop-area-active{background:#FF7171}.qq-upload-list{margin:0;padding:0;list-style:none}.qq-upload-list li{margin:0;padding:9px;line-height:15px;font-size:16px;background-color:#FFF0BD}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-failed-text,.qq-upload-file,.qq-upload-pause,.qq-upload-retry,.qq-upload-size,.qq-upload-spinner{margin-right:12px;display:inline}.qq-upload-spinner{display:inline-block;background:url(loading.gif);width:15px;height:15px;vertical-align:text-bottom}.qq-drop-processing{display:block}.qq-drop-processing-spinner{display:inline-block;background:url(processing.gif);width:24px;height:24px;vertical-align:text-bottom}.qq-upload-continue,.qq-upload-delete,.qq-upload-pause{display:inline}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry{color:#000}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry,.qq-upload-size{font-size:12px;font-weight:400}.qq-upload-failed-text{display:none;font-style:italic;font-weight:700}.qq-upload-failed-icon{display:none;width:15px;height:15px;vertical-align:text-bottom}.qq-upload-fail .qq-upload-failed-text{display:inline}.qq-upload-retrying .qq-upload-failed-text{display:inline;color:#D60000}.qq-upload-list li.qq-upload-success{background-color:#5DA30C;color:#FFF}.qq-upload-list li.qq-upload-fail{background-color:#D60000;color:#FFF}.qq-progress-bar{display:block;background:-moz-linear-gradient(top,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(30,87,153,1)),color-stop(50%,rgba(41,137,216,1)),color-stop(51%,rgba(32,124,202,1)),color-stop(100%,rgba(125,185,232,1)));background:-webkit-linear-gradient(top,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);background:-o-linear-gradient(top,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);background:-ms-linear-gradient(top,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);background:linear-gradient(to bottom,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);width:0;height:15px;border-radius:6px;margin-bottom:3px}.qq-total-progress-bar{height:25px;border-radius:9px}.qq-total-progress-bar-container{margin:9px}INPUT.qq-edit-filename{position:absolute;opacity:0;filter:alpha(opacity=0);z-index:-1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.qq-upload-file.qq-editable{cursor:pointer}.qq-edit-filename-icon.qq-editable{display:inline-block;cursor:pointer}.qq-hide,.qq-uploader DIALOG{display:none}INPUT.qq-edit-filename.qq-editing{position:static;margin-top:-5px;margin-right:10px;margin-bottom:-5px;opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.qq-edit-filename-icon{display:none;background:url(edit.gif);width:15px;height:15px;vertical-align:text-bottom;margin-right:5px}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG .qq-dialog-buttons{text-align:center;padding-top:10px}.qq-uploader DIALOG .qq-dialog-buttons BUTTON{margin-left:5px;margin-right:5px}.qq-uploader DIALOG .qq-dialog-message-selector{padding-bottom:10px}.qq-uploader DIALOG::backdrop{background-color:rgba(0,0,0,.7)}/*# sourceMappingURL=fine-uploader.min.css.map */

View File

@ -0,0 +1 @@
{"version":3,"sources":["_build/fine-uploader.css"],"names":[],"mappings":"AAAA,aACI,SAAU,SACV,MAAO,KAEX,kBACI,QAAS,MACT,MAAO,MACP,QAAS,IAAI,EACb,WAAY,OACZ,WAAY,KACZ,cAAe,IAAI,MAAM,KACzB,MAAO,KAEX,wBACI,WAAY,KAEhB,wBACI,QAAoB,KAAP,OAAJ,IAEb,qBAAsB,2BAClB,SAAU,SACV,IAAK,EACL,KAAM,EACN,MAAO,KACP,OAAQ,KACR,WAAY,KACZ,QAAS,EACT,WAAY,QACZ,WAAY,OAEhB,0BACI,QAAS,MACT,SAAU,SACV,IAAK,IACL,MAAO,KACP,WAAY,KACZ,UAAW,KAEf,2BACI,SAAU,SACV,WAAY,KACZ,UAAW,KACX,YAAa,KACb,OAAQ,KACR,WAAY,KAEhB,4BACI,WAAY,QAEhB,gBACI,OAAQ,EACR,QAAS,EACT,WAAY,KAEhB,mBACI,OAAQ,EACR,QAAS,IACT,YAAa,KACb,UAAW,KACX,iBAAkB,QAGtB,kBACqC,oBAArC,kBADqC,uBADrC,gBAEmB,iBADA,iBADkB,gBAApB,mBAGb,aAAc,KACd,QAAS,OAIb,mBACI,QAAS,aACT,WAAY,iBACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAEpB,oBACI,QAAS,MAEb,4BACI,QAAS,aACT,WAAY,oBACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAGiB,oBAArC,kBAAmB,iBACf,QAAS,OAGwB,kBACnB,oBADA,kBAClB,iBADA,iBAEI,MAAO,KAGM,kBACoB,oBAArC,kBAAmB,iBADiB,iBAApC,gBAEI,UAAW,KACX,YAAa,IAEjB,uBACI,QAAS,KACT,WAAY,OACZ,YAAa,IAEjB,uBACI,QAAQ,KACR,MAAM,KACN,OAAO,KACP,eAAe,YAEnB,uCACI,QAAS,OAEb,2CACI,QAAS,OACT,MAAO,QAEX,qCACI,iBAAkB,QAClB,MAAO,KAEX,kCACI,iBAAkB,QAClB,MAAO,KAEX,iBACI,QAAS,MACT,WAAY,qHACZ,WAAwB,yLACxB,WAA8C,wHAC9C,WAAyE,mHACzE,WAA4F,oHAC5F,WAAwG,sHACxG,MAA6G,EAC7G,OAAQ,KACR,cAAe,IACf,cAAe,IAGnB,uBACI,OAAQ,KACR,cAAe,IAGnB,iCACI,OAAQ,IAGZ,uBACI,SAAU,SACV,QAAS,EACT,OAAQ,iBACR,QAAS,GACT,WAAY,qDAGhB,4BACI,OAAQ,QAGZ,mCACI,QAAS,aACT,OAAQ,QAuBZ,SAaA,oBACI,QAAS,KAlCb,kCACI,SAAU,OACV,WAAY,KACZ,aAAc,KACd,cAAe,KAEf,QAAS,EACT,OAAQ,mBACR,WAAY,uDAGhB,uBACI,QAAS,KACT,WAAY,cACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAChB,aAAc,IAoBlB,0BACI,QAAS,MAGb,uCACI,WAAY,OACZ,YAAa,KAGjB,8CACI,YAAa,IACb,aAAc,IAGlB,gDACI,eAAgB,KAGpB,8BACI,iBAAkB"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

View File

@ -0,0 +1,62 @@
<!--
This is a legacy template and is not meant to be used in new Fine Uploader integrated projects.
Read the "Getting Started Guide" at http://docs.fineuploader.com/quickstart/01-getting-started.html
if you are not yet familiar with Fine Uploader UI.
-->
<script type="text/template" id="qq-template">
<div class="qq-uploader-selector qq-uploader" qq-drop-area-text="Drop files here">
<div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
<div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
</div>
<div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
<span class="qq-upload-drop-area-text-selector"></span>
</div>
<div class="qq-upload-button-selector qq-upload-button">
<div>Upload a file</div>
</div>
<span class="qq-drop-processing-selector qq-drop-processing">
<span>Processing dropped files...</span>
<span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
</span>
<ul class="qq-upload-list-selector qq-upload-list" aria-live="polite" aria-relevant="additions removals">
<li>
<div class="qq-progress-bar-container-selector">
<div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-progress-bar-selector qq-progress-bar"></div>
</div>
<span class="qq-upload-spinner-selector qq-upload-spinner"></span>
<span class="qq-upload-file-selector qq-upload-file"></span>
<span class="qq-edit-filename-icon-selector qq-edit-filename-icon" aria-label="Edit filename"></span>
<input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
<span class="qq-upload-size-selector qq-upload-size"></span>
<button type="button" class="qq-btn qq-upload-cancel-selector qq-upload-cancel">Cancel</button>
<button type="button" class="qq-btn qq-upload-retry-selector qq-upload-retry">Retry</button>
<button type="button" class="qq-btn qq-upload-delete-selector qq-upload-delete">Delete</button>
<span role="status" class="qq-upload-status-text-selector qq-upload-status-text"></span>
</li>
</ul>
<dialog class="qq-alert-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">Close</button>
</div>
</dialog>
<dialog class="qq-confirm-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">No</button>
<button type="button" class="qq-ok-button-selector">Yes</button>
</div>
</dialog>
<dialog class="qq-prompt-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<input type="text">
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">Cancel</button>
<button type="button" class="qq-ok-button-selector">Ok</button>
</div>
</dialog>
</div>
</script>

View File

@ -0,0 +1,82 @@
<!--
Read the "Getting Started Guide" at http://docs.fineuploader.com/quickstart/01-getting-started.html
if you are not yet familiar with Fine Uploader UI.
Please see http://docs.fineuploader.com/features/styling.html for information
on how to customize this template.
-->
<script type="text/template" id="qq-template">
<div class="qq-uploader-selector qq-uploader qq-gallery" qq-drop-area-text="Drop files here">
<div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
<div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
</div>
<div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
<span class="qq-upload-drop-area-text-selector"></span>
</div>
<div class="qq-upload-button-selector qq-upload-button">
<div>Upload a file</div>
</div>
<span class="qq-drop-processing-selector qq-drop-processing">
<span>Processing dropped files...</span>
<span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
</span>
<ul class="qq-upload-list-selector qq-upload-list" role="region" aria-live="polite" aria-relevant="additions removals">
<li>
<span role="status" class="qq-upload-status-text-selector qq-upload-status-text"></span>
<div class="qq-progress-bar-container-selector qq-progress-bar-container">
<div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-progress-bar-selector qq-progress-bar"></div>
</div>
<span class="qq-upload-spinner-selector qq-upload-spinner"></span>
<div class="qq-thumbnail-wrapper">
<img class="qq-thumbnail-selector" qq-max-size="120" qq-server-scale>
</div>
<button type="button" class="qq-upload-cancel-selector qq-upload-cancel">X</button>
<button type="button" class="qq-upload-retry-selector qq-upload-retry">
<span class="qq-btn qq-retry-icon" aria-label="Retry"></span>
Retry
</button>
<div class="qq-file-info">
<div class="qq-file-name">
<span class="qq-upload-file-selector qq-upload-file"></span>
<span class="qq-edit-filename-icon-selector qq-btn qq-edit-filename-icon" aria-label="Edit filename"></span>
</div>
<input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
<span class="qq-upload-size-selector qq-upload-size"></span>
<button type="button" class="qq-btn qq-upload-delete-selector qq-upload-delete">
<span class="qq-btn qq-delete-icon" aria-label="Delete"></span>
</button>
<button type="button" class="qq-btn qq-upload-pause-selector qq-upload-pause">
<span class="qq-btn qq-pause-icon" aria-label="Pause"></span>
</button>
<button type="button" class="qq-btn qq-upload-continue-selector qq-upload-continue">
<span class="qq-btn qq-continue-icon" aria-label="Continue"></span>
</button>
</div>
</li>
</ul>
<dialog class="qq-alert-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">Close</button>
</div>
</dialog>
<dialog class="qq-confirm-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">No</button>
<button type="button" class="qq-ok-button-selector">Yes</button>
</div>
</dialog>
<dialog class="qq-prompt-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<input type="text">
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">Cancel</button>
<button type="button" class="qq-ok-button-selector">Ok</button>
</div>
</dialog>
</div>
</script>

View File

@ -0,0 +1,64 @@
<!--
Read the "Getting Started Guide" at http://docs.fineuploader.com/quickstart/01-getting-started.html
if you are not yet familiar with Fine Uploader UI.
Please see http://docs.fineuploader.com/features/styling.html for information
on how to customize this template.
-->
<script type="text/template" id="qq-simple-thumbnails-template">
<div class="qq-uploader-selector qq-uploader" qq-drop-area-text="Drop files here">
<div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
<div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
</div>
<div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
<span class="qq-upload-drop-area-text-selector"></span>
</div>
<div class="qq-upload-button-selector qq-upload-button">
<div>Upload a file</div>
</div>
<span class="qq-drop-processing-selector qq-drop-processing">
<span>Processing dropped files...</span>
<span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
</span>
<ul class="qq-upload-list-selector qq-upload-list" aria-live="polite" aria-relevant="additions removals">
<li>
<div class="qq-progress-bar-container-selector">
<div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-progress-bar-selector qq-progress-bar"></div>
</div>
<span class="qq-upload-spinner-selector qq-upload-spinner"></span>
<img class="qq-thumbnail-selector" qq-max-size="100" qq-server-scale>
<span class="qq-upload-file-selector qq-upload-file"></span>
<span class="qq-edit-filename-icon-selector qq-edit-filename-icon" aria-label="Edit filename"></span>
<input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
<span class="qq-upload-size-selector qq-upload-size"></span>
<button type="button" class="qq-btn qq-upload-cancel-selector qq-upload-cancel">Cancel</button>
<button type="button" class="qq-btn qq-upload-retry-selector qq-upload-retry">Retry</button>
<button type="button" class="qq-btn qq-upload-delete-selector qq-upload-delete">Delete</button>
<span role="status" class="qq-upload-status-text-selector qq-upload-status-text"></span>
</li>
</ul>
<dialog class="qq-alert-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">Close</button>
</div>
</dialog>
<dialog class="qq-confirm-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">No</button>
<button type="button" class="qq-ok-button-selector">Yes</button>
</div>
</dialog>
<dialog class="qq-prompt-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<input type="text">
<div class="qq-dialog-buttons">
<button type="button" class="qq-cancel-button-selector">Cancel</button>
<button type="button" class="qq-ok-button-selector">Ok</button>
</div>
</dialog>
</div>
</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

View File

@ -32,42 +32,16 @@ require_once("class.Bootstrap.php");
class SeedDMS_View_AddDocument extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$strictformcheck = $this->params['strictformcheck'];
$dropfolderdir = $this->params['dropfolderdir'];
$partitionsize = $this->params['partitionsize'];
$enablelargefileupload = $this->params['enablelargefileupload'];
header('Content-Type: application/javascript; charset=UTF-8');
?>
function checkForm()
{
msg = new Array();
//if (document.form1.userfile[].value == "") msg += "<?php printMLText("js_no_file");?>\n";
<?php
if ($strictformcheck) {
?>
if(!document.form1.name.disabled){
if (document.form1.name.value == "") msg.push("<?php printMLText("js_no_name");?>");
}
if (document.form1.comment.value == "") msg.push("<?php printMLText("js_no_comment");?>");
if (document.form1.keywords.value == "") msg.push("<?php printMLText("js_no_keywords");?>");
<?php
}
?>
if (msg != ""){
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
return true;
}
if($enablelargefileupload)
$this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize);
?>
$(document).ready(function() {
$('body').on('submit', '#form1', function(ev){
$('body').on('submit', '#__form1', function(ev){
if(checkForm()) return;
ev.preventDefault();
});
@ -80,7 +54,25 @@ $(document).ready(function() {
return false;
return true;
}, "<?php printMLText("js_no_file");?>");
/* The fineuploader validation is actually checking all fields that can contain
* a file to be uploaded. First checks if an alternative input field is set,
* second loops through the list of scheduled uploads, checking if at least one
* file will be submitted.
*/
jQuery.validator.addMethod("fineuploader", function(value, element, params) {
if(params[1].val() != '')
return true;
uploader = params[0];
arr = uploader.getUploads();
for(var i in arr) {
if(arr[i].status == 'submitted')
return true;
}
return false;
}, "<?php printMLText("js_no_file");?>");
$("#form1").validate({
debug: false,
ignore: ":hidden:not(.do_validate)",
invalidHandler: function(e, validator) {
noty({
text: (validator.numberOfInvalids() == 1) ? "<?php printMLText("js_form_error");?>".replace('#', validator.numberOfInvalids()) : "<?php printMLText("js_form_errors");?>".replace('#', validator.numberOfInvalids()),
@ -91,13 +83,34 @@ $(document).ready(function() {
timeout: 1500,
});
},
<?php
if($enablelargefileupload) {
?>
submitHandler: function(form) {
manualuploader.uploadStoredFiles();
},
<?php
}
?>
rules: {
<?php
if($enablelargefileupload) {
?>
fineuploaderuuids: {
fineuploader: [ manualuploader, $('#dropfolderfileform1') ]
}
<?php
} else {
?>
'userfile[]': {
alternatives: $('#dropfolderfileform1')
},
dropfolderfileform1: {
alternatives: $(".btn-file input")
}
<?php
}
?>
},
messages: {
name: "<?php printMLText("js_no_name");?>",
@ -107,7 +120,6 @@ $(document).ready(function() {
errorPlacement: function( error, element ) {
if ( element.is( ":file" ) ) {
error.appendTo( element.parent().parent().parent());
console.log(element);
} else {
error.appendTo( element.parent());
}
@ -138,6 +150,8 @@ console.log(element);
$folderid = $folder->getId();
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/validate/jquery.validate.js"></script>'."\n", 'js');
if($enablelargefileupload)
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/fine-uploader/jquery.fine-uploader.min.js"></script>'."\n", 'js');
$this->htmlStartPage(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName()))));
$this->globalNavigation($folder);
@ -145,7 +159,7 @@ console.log(element);
$this->pageNavigation($this->getFolderPathHTML($folder, true), "view_folder", $folder);
$msg = getMLText("max_upload_size").": ".ini_get( "upload_max_filesize");
if($enablelargefileupload) {
if(0 && $enablelargefileupload) {
$msg .= "<p>".sprintf(getMLText('link_alt_updatedocument'), "out.AddMultiDocument.php?folderid=".$folderid."&showtree=".showtree())."</p>";
}
$this->warningMsg($msg);
@ -265,9 +279,15 @@ console.log(element);
</ol>
-->
<?php
$this->printFileChooser('userfile[]', false);
if($enablelargefileupload)
$this->printFineUploaderHtml();
else {
$this->printFileChooser('userfile[]', false);
?>
<a class="" id="new-file"><?php printMLtext("add_multiple_files") ?></a>
<?php
}
?>
</td>
</tr>
<?php if($dropfolderdir) { ?>

View File

@ -2257,6 +2257,130 @@ mayscript>
<?php
} /* }}} */
/**
* Output HTML Code for jumploader
*
* @param string $uploadurl URL where post data is send
* @param integer $folderid id of folder where document is saved
* @param integer $maxfiles maximum number of files allowed to upload
* @param array $fields list of post fields
*/
function printFineUploaderHtml() { /* {{{ */
?>
<script type="text/template" id="qq-template">
<div class="qq-uploader-selector qq-uploader" qq-drop-area-text="">
<div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
<div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
</div>
<div class="input-append">
<div class="qq-upload-drop-area-selector qq-upload-drop-area" _qq-hide-dropzone>Drop files here
<span class="qq-upload-drop-area-text-selector"></span>
</div>
<button class="btn qq-upload-button-selector qq-upload-button"><?php printMLText('browse'); ?>&hellip;</button>
</div>
<span class="qq-drop-processing-selector qq-drop-processing">
<span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
</span>
<ul class="qq-upload-list-selector qq-upload-list unstyled" aria-live="polite" aria-relevant="additions removals">
<li>
<div class="progress qq-progress-bar-container-selector">
<div class="bar qq-progress-bar-selector qq-progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<span class="qq-upload-spinner-selector qq-upload-spinner"></span>
<img class="qq-thumbnail-selector" qq-max-size="100" qq-server-scale>
<span class="qq-upload-file-selector qq-upload-file"></span>
<span class="qq-upload-size-selector qq-upload-size"></span>
<button class="btn btn-mini qq-btn qq-upload-cancel-selector qq-upload-cancel">Cancel</button>
<span role="status" class="qq-upload-status-text-selector qq-upload-status-text"></span>
</li>
</ul>
<dialog class="qq-alert-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<div class="qq-dialog-buttons">
<button class="btn qq-cancel-button-selector">Cancel</button>
</div>
</dialog>
<dialog class="qq-confirm-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<div class="qq-dialog-buttons">
<button class="btn qq-cancel-button-selector">Cancel</button>
<button class="btn qq-ok-button-selector">Ok</button>
</div>
</dialog>
<dialog class="qq-prompt-dialog-selector">
<div class="qq-dialog-message-selector"></div>
<input type="text">
<div class="qq-dialog-buttons">
<button class="btn qq-cancel-button-selector">Cancel</button>
<button class="btn qq-ok-button-selector">Ok</button>
</div>
</dialog>
</div>
</script>
<div id="manual-fine-uploader"></div>
<input type="hidden" class="do_validate" id="fineuploaderuuids" name="fineuploaderuuids" value="" />
<input type="hidden" id="fineuploadernames" name="fineuploadernames" value="" />
<?php
} /* }}} */
/**
* Output Javascript Code for fine uploader
*
* @param string $uploadurl URL where post data is send
* @param integer $folderid id of folder where document is saved
* @param integer $maxfiles maximum number of files allowed to upload
* @param array $fields list of post fields
*/
function printFineUploaderJs($uploadurl, $partsize=0) { /* {{{ */
?>
$(document).ready(function() {
manualuploader = new qq.FineUploader({
debug: true,
autoUpload: false,
multiple: true,
element: $('#manual-fine-uploader')[0],
request: {
endpoint: '<?php echo $uploadurl; ?>'
},
chunking: {
enabled: true,
<?php echo $partsize ? 'partSize: '.(int)$partsize.",\n" : ''; ?>
mandatory: true
},
callbacks: {
onComplete: function(id, name, json, xhr) {
},
onAllComplete: function(succeeded, failed) {
var uuids = Array();
var names = Array();
for (var i = 0; i < succeeded.length; i++) {
uuids.push(this.getUuid(succeeded[i]))
names.push(this.getName(succeeded[i]))
}
$('#fineuploaderuuids').val(uuids.join(';'));
$('#fineuploadernames').val(names.join(';'));
/* Run upload only if all files could be uploaded */
if(succeeded.length > 0 && failed.length == 0)
document.getElementById('form1').submit();
},
onError: function(id, name, reason, xhr) {
noty({
text: reason,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 3500,
});
}
}
});
});
<?php
} /* }}} */
/**
* Output a protocol
*