]> git.mxchange.org Git - simple-upload.git/blobdiff - index.php
Also here the upload path needs to be included, else the files cannot be
[simple-upload.git] / index.php
index 7d866367d72263ab54ada5cac935827f642e0ad2..4b469a8f1b039b494b9cc206464fadf925e510f4 100644 (file)
--- a/index.php
+++ b/index.php
                'ignores' => array('.', '..', 'LICENSE', 'README.md'),
 
                // Language code
-               'lang' => 'en_GB',
+               'lang' => 'en',
 
                // Language direction
                'lang_dir' => 'ltr',
+
+               // Remove old files?
+               'remove_old_files' => true,
        );
        // =============={ Configuration End }==============
 
        if (isset($_POST)) {
                if ($settings['allow_deletion'])
                        if (isset($_POST['action']) && $_POST['action'] === 'delete')
-                               if (in_array(substr($_POST['target'], 1), $_SESSION['upload_user_files']) || in_array($_POST['target'], $_SESSION['upload_user_files']))
-                                       if (file_exists($_POST['target'])) {
-                                               unlink($_POST['target']);
+                               if (in_array(substr($_POST['target'], 1), $_SESSION['upload_user_files']) || in_array($_POST['target'], $_SESSION['upload_user_files'])) {
+                                       $fqfn = $data['uploaddir'] . DIRECTORY_SEPARATOR . $_POST['target'];
+                                       if (file_exists($fqfn)) {
+                                               unlink($fqfn);
                                                echo 'File has been removed';
                                                exit;
                                        }
+                               }
 
                if ($settings['allow_private'])
                        if (isset($_POST['action']) && $_POST['action'] === 'privatetoggle')
-                               if (in_array(substr($_POST['target'], 1), $_SESSION['upload_user_files']) || in_array($_POST['target'], $_SESSION['upload_user_files']))
-                                       if (file_exists($_POST['target'])) {
+                               if (in_array(substr($_POST['target'], 1), $_SESSION['upload_user_files']) || in_array($_POST['target'], $_SESSION['upload_user_files'])) {
+                                       $fqfn = $data['uploaddir'] . DIRECTORY_SEPARATOR . $_POST['target'];
+                                       if (file_exists($fqfn)) {
                                                if ($_POST['target'][0] === '.') {
-                                                       rename($_POST['target'], substr($_POST['target'], 1));
+                                                       rename($fqfn, substr($fqfn, 1));
                                                        echo 'File has been made visible';
                                                } else {
-                                                       rename($_POST['target'], '.' . $_POST['target']);
+                                                       rename($fqfn, $data['uploaddir'] . DIRECTORY_SEPARATOR . '.' . $_POST['target']);
                                                        echo 'File has been hidden';
                                                }
                                                exit;
                                        }
+                               }
        }
 
        // List files in a given directory, excluding certain files
        function listFiles ($dir, $exclude) {
                $file_array = array();
                $dh = opendir($dir);
-                       while (false !== ($filename = readdir($dh)))
-                               if (is_file($filename) && !in_array($filename, $exclude))
-                                       $file_array[filemtime($filename)] = $filename;
+                       while (false !== ($filename = readdir($dh))) {
+                               $fqfn = $dir . DIRECTORY_SEPARATOR . $filename;
+                               if (is_file($fqfn) && !in_array($filename, $exclude))
+                                       $file_array[filemtime($fqfn)] = $filename;
+                       }
+
                ksort($file_array);
                $file_array = array_reverse($file_array, true);
                return $file_array;
        }
 
-       $file_array = listFiles($settings['uploaddir'], $data['ignores']);
+       // Removes old files
+       function removeOldFiles ($dir) {
+               global $file_array, $settings;
+               foreach ($file_array as $file) {
+                       $fqfn = $dir . DIRECTORY_SEPARATOR . $file;
+                       if ($settings['time_limit'] < time() - filemtime($fqfn))
+                               unlink($fqfn);
+               }
+       }
+
+       // Only read files if the feature is enabled
+       if ($settings['listfiles']) {
+               $file_array = listFiles($data['uploaddir'], $data['ignores']);
 
-       // Removing old files
-       foreach ($file_array as $file)
-               if ($settings['time_limit'] < time() - filemtime($file))
-                       unlink($file);
+               // Removing old files
+               if ($settings['remove_old_files'])
+                       removeOldFiles($data['uploaddir']);
 
-       $file_array = listFiles($settings['uploaddir'], $data['ignores']);
+               $file_array = listFiles($data['uploaddir'], $data['ignores']);
+       }
 ?>
 <!DOCTYPE html>
 <html lang="<?=$settings['lang']?>" dir="<?=$settings['lang_dir']?>">
                        <ul id="simpleupload-ul">
                                <?php
                                        foreach ($file_array as $mtime => $filename) {
+                                               $fqfn = $data['uploaddir'] . DIRECTORY_SEPARATOR . $filename;
                                                $file_info = array();
                                                $file_owner = false;
                                                $file_private = $filename[0] === '.';
 
                                                if ($settings['listfiles_size'])
-                                                       $file_info[] = formatSize(filesize($filename));
+                                                       $file_info[] = formatSize(filesize($fqfn));
 
                                                if ($settings['listfiles_size'])
                                                        $file_info[] = date($settings['listfiles_date_format'], $mtime);
                                                if (!$file_private || $file_owner) {
                                                        echo "<li class=\"' . $class . '\">";
 
-                                                       echo "<a href=\"$filename\" target=\"_blank\">$filename<span>$file_info</span></a>";
+                                                       $url = str_replace('/./', '/', sprintf('%s%s/%s', $settings['url'], $settings['uploaddir'], $filename));
+
+                                                       echo "<a href=\"$url\" target=\"_blank\">$filename<span>$file_info</span></a>";
 
                                                        if ($file_owner) {
                                                                if ($settings['allow_deletion'])
                        </ul>
                <?php } ?>
                <a href="https://github.com/muchweb/simple-php-upload"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
-               <script charset="utf-8">
+               <script type="text/javascript">
+               <!--
                        var target_form = document.getElementById('simpleupload-form'),
                                target_ul = document.getElementById('simpleupload-ul'),
                                target_input = document.getElementById('simpleupload-input');
                                AddFileLi('Uploading...', '');
                                target_form.submit();
                        };
+               //-->
                </script>
        </body>
 </html>