]> git.mxchange.org Git - simple-upload.git/blobdiff - index.php
Use even more braces and save returned target file name
[simple-upload.git] / index.php
index 3bbc62558575ec8805964dd4f22a86abdc8612f1..78e5ff4f63882054d89fed80fa2b0c2909a280fc 100644 (file)
--- a/index.php
+++ b/index.php
                // Do now allow to overwriting files
                if (isReadableFile($file_data['upload_target_file'])) {
                        echo 'File name already exists' . "\n";
-                       return;
+                       return false;
                }
 
                // Moving uploaded file OK
                        if ($settings['allow_deletion'] || $settings['allow_private'])
                                $_SESSION['upload_user_files'][] = $file_data['target_file_name'];
                        echo $settings['url'] .  $file_data['target_file_name'] . "\n";
+
+                       // Return target file name for later handling
+                       return $file_data['upload_target_file'];
                } else {
                        echo 'Error: unable to upload the file.';
+                       return false;
                }
        }
 
                header('Content-type: text/plain');
                if (is_array($_FILES['file'])) {
                        $file_array = diverseArray($_FILES['file']);
-                       foreach ($file_array as $file_data)
-                               uploadFile($file_data);
-               } else
-                       uploadFile($_FILES['file']);
+                       foreach ($file_array as $file_data) {
+                               $targetFile = uploadFile($file_data);
+                       }
+               } else {
+                       $targetFile = uploadFile($_FILES['file']);
+               }
                exit;
        }
 
                global $data;
 
                $file_array = array();
+
                $dh = opendir($dir);
-                       while ($filename = readdir($dh)) {
-                               $fqfn = $dir . DIRECTORY_SEPARATOR . $filename;
-                               if (isReadableFile($fqfn) && !in_array($filename, $data['ignores']))
-                                       $file_array[filemtime($fqfn)] = $filename;
-                       }
+
+               while ($filename = readdir($dh)) {
+                       $fqfn = $dir . DIRECTORY_SEPARATOR . $filename;
+                       if (isReadableFile($fqfn) && !in_array($filename, $data['ignores']))
+                               $file_array[filemtime($fqfn)] = $filename;
+               }
 
                ksort($file_array);
+
                $file_array = array_reverse($file_array, true);
+
                return $file_array;
        }
 
                                                if (!$file_private || $file_owner) {
                                                        echo "<li class=\"' . $class . '\">";
 
+                                                       // Create full-qualified URL and clean it a bit
                                                        $url = str_replace('/./', '/', sprintf('%s%s/%s', $settings['url'], $settings['uploaddir'], $filename));
 
                                                        echo "<a href=\"$url\" target=\"_blank\">$filename<span>$file_info</span></a>";
                ?>
                <script type="text/javascript">
                <!--
-                       var target_form = document.getElementById('simpleupload-form'),
-                               target_ul = document.getElementById('simpleupload-ul'),
-                               target_input = document.getElementById('simpleupload-input');
+                       // Init some variales to shorten code
+                       var target_form        = document.getElementById('simpleupload-form');
+                       var target_ul          = document.getElementById('simpleupload-ul');
+                       var target_input       = document.getElementById('simpleupload-input');
+                       var settings_listfiles = <?=($settings['listfiles'] ? 'true' : 'false')?>;
+
+                       /**
+                        * Initializes the upload form
+                        */
+                       function init () {
+                               // Register drag-over event listener
+                               target_form.addEventListener('dragover', function (event) {
+                                       event.preventDefault();
+                               }, false);
+
+                               // ... and the drop event listener
+                               target_form.addEventListener('drop', handleFiles, false);
+
+                               // Register onchange-event function
+                               target_input.onchange = function () {
+                                       addFileLi('Uploading...', '');
+                                       target_form.submit();
+                               };
+                       }
 
-                       target_form.addEventListener('dragover', function (event) {
-                               event.preventDefault();
-                       }, false);
+                       /**
+                        * Adds given file in a new li-tag to target_ul list
+                        *
+                        * @param name Name of the file
+                        * @param info Some more informations
+                        */
+                       function addFileLi (name, info) {
+                               if (settings_listfiles == false) {
+                                       return;
+                               }
 
-                       function AddFileLi (name, info) {
                                target_form.style.display = 'none';
 
                                var new_li = document.createElement('li');
                                target_ul.insertBefore(new_li, target_ul.firstChild);
                        }
 
-                       function HandleFiles (event) {
+                       /**
+                        * Handles given event for file upload
+                        *
+                        * @param event Event to handle file upload for
+                        */
+                       function handleFiles (event) {
                                event.preventDefault();
 
-                               var i = 0,
-                                       files = event.dataTransfer.files,
-                                       len = files.length;
+                               var files = event.dataTransfer.files;
 
                                var form = new FormData();
 
-                               for (; i < len; i++) {
+                               for (var i = 0; i < files.length; i++) {
                                        form.append('file[]', files[i]);
-                                       AddFileLi(files[i].name, files[i].size + ' bytes');
+                                       addFileLi(files[i].name, files[i].size + ' bytes');
                                }
 
                                var xhr = new XMLHttpRequest();
                                xhr.send(form);
                        }
 
-                       target_form.addEventListener('drop', HandleFiles, false);
+                       // Initialize upload form
+                       init();
 
-                       document.getElementById('simpleupload-input').onchange = function () {
-                               AddFileLi('Uploading...', '');
-                               target_form.submit();
-                       };
                //-->
                </script>
        </body>