add support for fine-uploader as a replacement for the old jumploader
|
@ -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
|
@ -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'));
|
||||
?>
|
|
@ -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;
|
||||
|
|
21
styles/bootstrap/fine-uploader/LICENSE
Normal 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.
|
BIN
styles/bootstrap/fine-uploader/continue.gif
Normal file
After Width: | Height: | Size: 221 B |
1093
styles/bootstrap/fine-uploader/dnd.js
Normal file
1
styles/bootstrap/fine-uploader/dnd.js.map
Normal file
3
styles/bootstrap/fine-uploader/dnd.min.js
vendored
Normal file
1
styles/bootstrap/fine-uploader/dnd.min.js.map
Normal file
BIN
styles/bootstrap/fine-uploader/edit.gif
Normal file
After Width: | Height: | Size: 150 B |
471
styles/bootstrap/fine-uploader/fine-uploader-gallery.css
Normal 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);
|
||||
}
|
1
styles/bootstrap/fine-uploader/fine-uploader-gallery.min.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["_build/fine-uploader-gallery.css"],"names":[],"mappings":"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"}
|
354
styles/bootstrap/fine-uploader/fine-uploader-new.css
Normal 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);
|
||||
}
|
1
styles/bootstrap/fine-uploader/fine-uploader-new.min.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["_build/fine-uploader-new.css"],"names":[],"mappings":"AAMA,QAkDA,kBAWI,WAAY,EAAE,IAAI,IAAI,sBAA0B,MAAO,IAAI,EAAE,IAAI,sBAA0B,MAAO,EAAE,IAAI,EAAE,gBAAqB,EAAE,KAAK,KAAK,gBAAoB,MA7DnK,QAGI,QAAS,IAAI,IACb,OAAQ,IAAI,MAAM,KAClB,cAAe,IACf,MAAO,QACP,iBAAkB,KAKtB,kBAEI,iBAAkB,QAClB,MAAO,QACP,aAAc,QACd,YAAa,EAAE,IAAI,IAAI,gBAE3B,wBACI,iBAAkB,QAEtB,kBAEI,iBAAkB,QAClB,aAAc,QAElB,wBACI,iBAAkB,QAEtB,iBAEI,iBAAkB,QAClB,aAAc,QAElB,uBACI,iBAAkB,QAEJ,oBAAlB,iBACI,iBAAkB,QAClB,MAAO,QACP,aAAc,QACd,YAAa,EAAE,IAAI,IAAI,gBAEH,0BAAxB,uBACI,iBAAkB,QAKtB,kBACI,QAAS,OACT,MAAO,MACP,cAAe,KACf,QAAS,IAAI,KACb,WAAY,OACZ,MAAO,KACP,WAAY,QACZ,MAAO,KACP,cAAe,IACf,OAAQ,IAAI,MAAM,QAGtB,wBACI,WAAY,QAEhB,wBACI,QAAoB,KAAP,OAAJ,IAMb,aACI,SAAU,SACV,WAAY,MACZ,WAAY,MACZ,WAAY,OACZ,MAAO,QACP,cAAe,IACf,iBAAkB,QAClB,OAAQ,IAAI,OAAO,KACnB,QAAS,KAEb,oBACI,QAAS,wBAAwB,IACjC,SAAU,SACV,UAAW,KACX,KAAM,EACN,MAAO,KACP,WAAY,OACZ,IAAK,IACL,QAAS,IAEb,qBAAsB,2BAClB,SAAU,SACV,IAAK,EACL,KAAM,EACN,MAAO,KACP,OAAQ,KACR,WAAY,KACZ,QAAS,EACT,WAAY,QACZ,cAAe,IACf,OAAQ,IAAI,OAAO,KACnB,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,QACZ,cAAe,IACf,OAAQ,IAAI,OAAO,KAEvB,gBACI,OAAQ,EACR,QAAS,EACT,WAAY,KACZ,WAAY,MACZ,WAAY,KACZ,WAAY,EAAI,IAAI,EAAI,mBACxB,MAAO,KAMX,mBACI,OAAQ,EACR,QAAS,IACT,YAAa,KACb,UAAW,KACX,MAAO,QACP,iBAAkB,QAClB,WAAY,IAAI,MAAM,KACtB,cAAe,IAAI,MAAM,KAE7B,+BACI,WAAY,KAEhB,8BACI,cAAe,KAInB,kBACqC,oBAArC,kBADqC,uBADrC,gBAEmB,iBADA,iBADkB,gBAApB,mBAGb,aAAc,KACd,QAAS,OAEb,gBACI,eAAgB,OAChB,QAAS,aACT,MAAO,MACP,cAAe,SACf,YAAa,OACb,WAAY,OACZ,OAAQ,KAEZ,mBACI,QAAS,aACT,WAAY,iBACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAEpB,oBACI,QAAS,MAEb,4BACI,QAAS,aACT,WAAY,oBACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAEH,kBACoB,oBAArC,kBAAmB,iBADiB,iBAApC,gBAEI,UAAW,KACX,YAAa,IACb,OAAQ,QACR,eAAgB,OAEpB,uBACI,UAAW,KACX,YAAa,IACb,QAAS,MAEb,uBACI,QAAS,KACT,WAAY,OACZ,YAAa,IAEjB,uBACI,QAAQ,KACR,MAAM,KACN,OAAO,KACP,eAAe,YAEnB,uCAGA,2CAFI,QAAS,OAKb,qCACI,iBAAkB,QAClB,MAAO,QACP,cAAe,IAAI,MAAM,QACzB,WAAY,IAAI,MAAM,QAE1B,kCACI,iBAAkB,QAClB,MAAO,QACP,cAAe,IAAI,MAAM,QACzB,WAAY,IAAI,MAAM,QAE1B,iBACI,QAAS,MAET,WAAY,QACZ,MAAO,EACP,OAAQ,KACR,cAAe,IACf,cAAe,IAGnB,uBACI,OAAQ,KACR,cAAe,IAGnB,iCACI,YAAa,IACb,QAAS,OACT,MAAO,MACP,MAAO,MAGX,uBACI,SAAU,SACV,QAAS,EACT,OAAQ,iBACR,QAAS,GACT,WAAY,qDAGhB,4BACI,OAAQ,QACR,aAAc,IAGlB,mCACI,QAAS,aACT,OAAQ,QA2BZ,SAsBA,oBACI,QAAS,KA/Cb,kCACI,SAAU,OACV,OAAQ,KACR,QAAS,EAAE,IACX,aAAc,KACd,cAAe,KACf,OAAQ,IAAI,MAAM,KAClB,cAAe,IACf,UAAW,KAEX,QAAS,EACT,OAAQ,mBACR,WAAY,uDAGhB,uBACI,QAAS,KACT,WAAY,cACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAChB,aAAc,KAUlB,uBACI,eAAgB,OAChB,aAAc,KAiBlB,0BACI,QAAS,MAGb,uCACI,WAAY,OACZ,YAAa,KAGjB,8CACI,YAAa,IACb,aAAc,IAGlB,gDACI,eAAgB,KAGpB,8BACI,iBAAkB"}
|
5515
styles/bootstrap/fine-uploader/fine-uploader.core.js
Normal file
1
styles/bootstrap/fine-uploader/fine-uploader.core.js.map
Normal file
6
styles/bootstrap/fine-uploader/fine-uploader.core.min.js
vendored
Normal file
225
styles/bootstrap/fine-uploader/fine-uploader.css
Normal 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);
|
||||
}
|
7414
styles/bootstrap/fine-uploader/fine-uploader.js
Normal file
1
styles/bootstrap/fine-uploader/fine-uploader.js.map
Normal file
1
styles/bootstrap/fine-uploader/fine-uploader.min.css
vendored
Normal 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 */
|
1
styles/bootstrap/fine-uploader/fine-uploader.min.css.map
Normal 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"}
|
7
styles/bootstrap/fine-uploader/fine-uploader.min.js
vendored
Normal file
1
styles/bootstrap/fine-uploader/fine-uploader.min.js.map
Normal file
7671
styles/bootstrap/fine-uploader/jquery.fine-uploader.js
Normal file
7
styles/bootstrap/fine-uploader/jquery.fine-uploader.min.js
vendored
Normal file
BIN
styles/bootstrap/fine-uploader/loading.gif
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
styles/bootstrap/fine-uploader/pause.gif
Normal file
After Width: | Height: | Size: 142 B |
BIN
styles/bootstrap/fine-uploader/placeholders/not_available-generic.png
Executable file
After Width: | Height: | Size: 3.9 KiB |
BIN
styles/bootstrap/fine-uploader/placeholders/waiting-generic.png
Executable file
After Width: | Height: | Size: 5.6 KiB |
BIN
styles/bootstrap/fine-uploader/processing.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
styles/bootstrap/fine-uploader/retry.gif
Normal file
After Width: | Height: | Size: 173 B |
62
styles/bootstrap/fine-uploader/templates/default.html
Normal 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>
|
82
styles/bootstrap/fine-uploader/templates/gallery.html
Normal 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>
|
|
@ -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>
|
BIN
styles/bootstrap/fine-uploader/trash.gif
Normal file
After Width: | Height: | Size: 159 B |
|
@ -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) { ?>
|
||||
|
|
|
@ -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'); ?>…</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
|
||||
*
|
||||
|
|