HEX
Server: Apache/2.4.61 (Ubuntu)
System: Linux hosting106 7.0.12-1-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.12-1 (2026-06-09T21:07Z) x86_64
User: clinicadentalargarate.com (1193)
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/usermin/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;
	my $source = fm_checked_cwd_path_or_error($name);
	my $symlink_name = "${name}--symlink";
	my $symlink = fm_checked_cwd_path_or_error($symlink_name);

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

	if (symlink_file($source, $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());