| Server IP : 104.21.93.65 / Your IP : 104.23.197.32 Web Server : Apache System : Linux server.localhost.com 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64 User : pahana ( 1029) PHP Version : 7.4.33 Disable Function : 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, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/usermin/filemin/ |
Upload File : |
#!/usr/bin/perl
require './filemin-lib.pl';
use Cwd 'abs_path';
&ReadParse();
get_paths();
open(my $fh, "<".&get_paste_buffer_file()) or die "Error: $!";
my @arr = <$fh>;
close($fh);
my $act = $arr[0];
my $dir = $arr[1];
chomp($act);
chomp($dir);
$from = abs_path($base.$dir);
if ($cwd eq $from) {
print_errors($text{'error_pasting_nonsence'});
} else {
my @errors;
for(my $i = 2;$i <= scalar(@arr)-1;$i++) {
chomp($arr[$i]);
if ($act eq "copy") {
if (-e "$cwd/$arr[$i]") {
push @errors, "$cwd/$arr[$i] $text{'error_exists'}";
} else {
system("cp -r ".quotemeta("$from/$arr[$i]").
" ".quotemeta($cwd)) == 0 or push @errors, "$from/$arr[$i] $text{'error_copy'} $!";
}
}
elsif ($act eq "cut") {
if (!can_move("$from/$arr[$i]", $cwd, $from)) {
push @errors, "$from/$arr[$i] - $text{'error_move'}";
}
elsif (-e "$cwd/$arr[$i]") {
push @errors, "$cwd/$arr[$i] $text{'error_exists'}";
} else {
system("mv ".quotemeta("$from/$arr[$i]").
" ".quotemeta($cwd)) == 0 or push @errors, "$from/$arr[$i] $text{'error_cut'} $!";
}
}
}
if (scalar(@errors) > 0) {
print_errors(@errors);
} else {
&redirect("index.cgi?path=".&urlize($path));
}
}