Server IP : 195.201.23.43 / Your IP : 18.190.219.146 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 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, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/mailboxes/ |
Upload File : |
#!/usr/bin/perl # XHR related routines use strict; our (%in, %gconfig, $root_directory, $remote_user, $current_theme); sub xhr { my %data = (); my $output_json = sub { my ($data) = @_; print "x-no-links: 1\n"; print_json($data); }; my $error = sub { my ($err) = @_; $data{'error'} = $err; &$output_json(\%data); exit; }; # Fetch actions if ($in{'action'} eq "fetch") { # Download types if ($in{'type'} eq "download") { # Format Blob format if ($in{'subtype'} eq "blob") { # Download using giving URL my $url = $in{'url'}; if ($url) { # Unescape possibly HTML escaped # image URL (LinkedIn and other) $url = &html_unescape($url); my ($host, $port, $page, $ssl) = &parse_http_url($url); my ($img, $err, $response_headers); &http_download($host, $port, $page, \$img, \$err, undef, $ssl, undef, undef, 10, undef, undef, undef, \$response_headers); # Check if download worked &$error("File download failed : $err") if ($err); # Get MIME content type my $mime_type = $response_headers->{'content-type'}; print "x-no-links: 1\n"; print "Content-type: $mime_type;\n\n"; print $img; exit; } &$error("File URL is missing") } &$error("Downloading file failed") } &$error("Fetching file failed"); } else { &$error("Unknown request"); } &$output_json(\%data); } 1;Private