HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/webmin/authentic-theme/extensions/file-manager/create_symlink.cgi
#!/usr/bin/perl

#
# Authentic Theme (https://github.com/authentic-theme/authentic-theme)
# Copyright Ilia Rostovtsev <ilia@virtualmin.com>
# Licensed under MIT (https://github.com/authentic-theme/authentic-theme/blob/master/LICENSE)
#
use strict;

our (%in, %text, $cwd, $path);

require($ENV{'THEME_ROOT'} . "/extensions/file-manager/file-manager-lib.pl");

my @entries_list = get_entries_list();
my $path_urlized = urlize($path);
my $error;

if (!@entries_list) {
    redirect_local(("list.cgi?path=$path_urlized&module=filemin" . extra_query()));
}
foreach my $name (@entries_list) {
    my $name_ = $name;
    $name = simplify_path($name);
    my $symlink = "$cwd/${name}--symlink";

    # If symlink exists add a numerable suffix
    if (-e $symlink) {
        my $__ = 1;
        for (;;) {
            my $necwd = "$symlink(" . $__++ . ")";
            if (!-e $necwd) {
                $symlink = $necwd;
                last;
            }
        }
    }

    if (symlink_file("$cwd/$name", $symlink) == 0) {
        $error .= "<br>" if ($error);
        $error .= text('filemanager_symlink_exists', html_escape("${name_}_symlink"), html_escape($cwd));
    }
}
redirect_local('list.cgi?path=' . $path_urlized . '&module=filemin' . '&error=' . $error . extra_query());