Merge pull request #24018 from Hystepik/develop#1
New : Test of big upload on test_forms
This commit is contained in:
commit
886cab41f2
@ -62,13 +62,19 @@ $flowTotalSize = GETPOST('flowTotalSize', 'alpha');
|
|||||||
top_httphead();
|
top_httphead();
|
||||||
dol_syslog(join(',', $_GET));
|
dol_syslog(join(',', $_GET));
|
||||||
|
|
||||||
$result = true;
|
$result = false;
|
||||||
|
|
||||||
if (!empty($upload_dir)) {
|
if (!empty($upload_dir)) {
|
||||||
$temp_dir = $upload_dir.'/'.$flowIdentifier;
|
$temp_dir = $upload_dir.'/'.$flowIdentifier;
|
||||||
} else {
|
} else {
|
||||||
$temp_dir = DOL_DATA_ROOT.'/'.$module.'/temp/'.$flowIdentifier;
|
$temp_dir = DOL_DATA_ROOT.'/'.$module.'/temp/'.$flowIdentifier;
|
||||||
$upload_dir = $temp_dir;
|
$upload_dir = DOL_DATA_ROOT.'/'.$module.'/temp/';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($module != "test" && !isModEnabled($module)) {
|
||||||
|
echo json_encode("The module ".$module." is not enabled");
|
||||||
|
header("HTTP/1.0 400");
|
||||||
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||||
@ -83,6 +89,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
|||||||
if (file_exists($upload_dir.'/'.$flowFilename)) {
|
if (file_exists($upload_dir.'/'.$flowFilename)) {
|
||||||
echo json_encode('File '.$flowIdentifier.' was already uploaded');
|
echo json_encode('File '.$flowIdentifier.' was already uploaded');
|
||||||
header("HTTP/1.0 200 Ok");
|
header("HTTP/1.0 200 Ok");
|
||||||
|
die();
|
||||||
} elseif (!empty($_FILES)) foreach ($_FILES as $file) {
|
} elseif (!empty($_FILES)) foreach ($_FILES as $file) {
|
||||||
// check the error status
|
// check the error status
|
||||||
if ($file['error'] != 0) {
|
if ($file['error'] != 0) {
|
||||||
@ -133,7 +140,7 @@ function createFileFromChunks($temp_dir, $upload_dir, $fileName, $chunkSize, $to
|
|||||||
$total_files = 0;
|
$total_files = 0;
|
||||||
$files = dol_dir_list($temp_dir, 'files');
|
$files = dol_dir_list($temp_dir, 'files');
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
if (stripos($file, $fileName) !== false) {
|
if (stripos($file["name"], $fileName) !== false) {
|
||||||
$total_files++;
|
$total_files++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -105,6 +105,75 @@ $array = array(1=>'Value 1', 2=>'Value 2', 3=>'Value 3');
|
|||||||
$arrayselected = array(1, 3);
|
$arrayselected = array(1, 3);
|
||||||
print $form->multiselectarray('testmulti', $array, $arrayselected, '', 0, 'minwidth100');
|
print $form->multiselectarray('testmulti', $array, $arrayselected, '', 0, 'minwidth100');
|
||||||
|
|
||||||
|
print '<br><br>'."\n";
|
||||||
|
|
||||||
|
// Test6a: Upload of big files
|
||||||
|
print "Test 6a: Upload of big files<br>\n";
|
||||||
|
print "The file will be uploaded in the directory: documents/test/temp/<br>\n";
|
||||||
|
|
||||||
|
if (is_file(DOL_DOCUMENT_ROOT.'/includes/flowjs/flow.js')) {
|
||||||
|
print '<button id="buttonbigupload" type="button">Browse...</button>';
|
||||||
|
print ' <span id="filespan">No file selected.</span>';
|
||||||
|
print '<br><div class="progress-bar filepgbar taligncenter" role="progressbar" style="width:1%;display:none"><span class="small valigntop">0%</span></div>';
|
||||||
|
print '<br><button type="button" style="display:none;" data-fileidentifier="" class="btn green-haze btn-circle cancelfileinput" id="filecancel">Cancel</button>';
|
||||||
|
print '<script src="'.DOL_URL_ROOT.'/includes/flowjs/flow.js"></script>';
|
||||||
|
print '<script>
|
||||||
|
jQuery(document).ready(function() {
|
||||||
|
var flow = new Flow({
|
||||||
|
target:"'.DOL_URL_ROOT.'/core/ajax/flowjs-server.php",
|
||||||
|
query:{module:"test", token:"'.newToken().'"},
|
||||||
|
testChunks:false
|
||||||
|
});
|
||||||
|
';
|
||||||
|
print 'if(flow.support){
|
||||||
|
flow.assignBrowse(document.getElementById("buttonbigupload"));
|
||||||
|
flow.on("fileAdded", function(file, event){
|
||||||
|
console.log("Trigger event file added", file, event);
|
||||||
|
$("#filespan").text(file.name);
|
||||||
|
$("#filecancel").data("fileidentifier", file.uniqueIdentifier)
|
||||||
|
$("#filecancel").show()
|
||||||
|
$(".filepgbar").show();
|
||||||
|
$(".filepgbar").attr("id",file.uniqueIdentifier+"pgbar")
|
||||||
|
});
|
||||||
|
flow.on("filesSubmitted", function(array,message){
|
||||||
|
console.log("Trigger event file submitted");
|
||||||
|
flow.upload()
|
||||||
|
});
|
||||||
|
flow.on("progress", function(){
|
||||||
|
console.log("progress",flow.files);
|
||||||
|
flow.files.forEach(function(element){
|
||||||
|
console.log(element.progress());
|
||||||
|
width = Math.round(element.progress()*100)
|
||||||
|
width = width.toString()
|
||||||
|
$("#"+element.uniqueIdentifier+"pgbar").width(width+"%")
|
||||||
|
$("#"+element.uniqueIdentifier+"pgbar").children("span").text(width+"%")
|
||||||
|
});
|
||||||
|
});
|
||||||
|
flow.on("fileSuccess", function(file,message){
|
||||||
|
console.log("The file has been uploaded successfully",file,message);
|
||||||
|
});
|
||||||
|
$(".cancelfileinput").on("click", function(){
|
||||||
|
filename = $(this).data("fileidentifier");
|
||||||
|
file = flow.getFromUniqueIdentifier(filename);
|
||||||
|
file.cancel();
|
||||||
|
$("#"+file.uniqueIdentifier+"pgbar").hide();
|
||||||
|
console.log("We remove file "+filename);
|
||||||
|
$("#filespan").text("No file selected.");
|
||||||
|
$(this).hide();
|
||||||
|
})
|
||||||
|
flow.on("fileError", function(file, message){
|
||||||
|
console.log("Error on file upload",file, message);
|
||||||
|
$("#"+file.uniqueIdentifier+"pgbar").width(20+"%");
|
||||||
|
$("#"+file.uniqueIdentifier+"pgbar").children("span").text("ERROR UPLOAD");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
';
|
||||||
|
print '</script>';
|
||||||
|
} else {
|
||||||
|
print "If this message displays, please add flow.js and flow.min.js files which can be found here: https://github.com/flowjs/flow.js and place the js lib in htdocs/includes/flowjs/<br>\n";
|
||||||
|
}
|
||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
// End of page
|
// End of page
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user