HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
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/webmin/virtual-server/edit_cloud.cgi
#!/usr/bin/perl
# Edit settings for one provider

require './virtual-server-lib.pl';
&ReadParse();
&can_cloud_providers() || &error($text{'clouds_ecannot'});

&ui_print_header(undef, $text{'cloud_title'}, "");

# Lookup the provider
@provs = &list_cloud_providers();
($prov) = grep { $_->{'name'} eq $in{'name'} } @provs;
$prov || &error($text{'cloud_egone'});
$sfunc = "cloud_".$prov->{'name'}."_get_state";
$state = &$sfunc($p);

# First check if provider can be used
my $cfunc = "check_".$prov->{'name'};
my $longdesc = $prov->{'longdesc'};
if (ref($longdesc) eq 'CODE') {
	$longdesc = &$longdesc();
	}
if (defined(&$cfunc)) {
	my ($err, $warn) = &$cfunc();
	if ($err) {
		print &ui_alert_box(
			&text('cloud_echeck', $prov->{'desc'}, $err), 'warn', undef, undef, '');
		if ($longdesc) {
			print &ui_alert_box($longdesc, 'info', undef, undef, '');
			}
		&ui_print_footer("list_clouds.cgi", $text{'clouds_return'});
		return;
		}
	print &ui_alert_box($warn, 'warn') if ($warn);
	}

if ($longdesc) {
	print $longdesc,"<p>\n";
	}

print &ui_form_start("save_cloud.cgi", "post");
print &ui_hidden("name", $in{'name'});
print &ui_table_start($text{'cloud_header'}, undef, 2);

# Cloud provider name
print &ui_table_row($text{'cloud_provider'},
		    $prov->{'desc'});
print &ui_table_row($text{'cloud_url'},
		    &ui_link($prov->{'url'}, $prov->{'url'}, undef,
			     "target=_blank"));

# Provider options
$ifunc = "cloud_".$prov->{'name'}."_show_inputs";
print &$ifunc($prov);

# Allow use by other users?
print &ui_table_row($text{'cloud_useby'},
	&ui_checkbox("useby_reseller", 1, $text{'cloud_byreseller'},
		     $config{'cloud_'.$in{'name'}.'_reseller'})."\n".
	&ui_checkbox("useby_owner", 1, $text{'cloud_byowner'},
		     $config{'cloud_'.$in{'name'}.'_owner'}));

# Current users
@users = grep { &backup_uses_cloud($_, $prov) } &list_scheduled_backups();
if (@users) {
	$utable = &ui_columns_start([ $text{'sched_dest'},
				      $text{'sched_doms'} ], 100);
	foreach my $s (@users) {
		@dests = &get_scheduled_backup_dests($s);
		@nices = map { &nice_backup_url($_, 1) } @dests;
		my $feature_link = &has_feature_link($s);
		$utable .= &ui_columns_row([
			&ui_link($feature_link.
				 "backup_form.cgi?sched=$s->{'id'}",
				 join("<br>\n", @nices)),
			&nice_backup_doms($s),
			]);
		}
	$utable .= &ui_columns_end();
	}
else {
	$utable = $text{'cloud_nousers'};
	}
print &ui_table_row($text{'cloud_users'}, $utable);

print &ui_table_end();
print &ui_form_end([ [ undef, $text{'save'} ],
		     $state->{'ok'} && $prov->{'clear'} ?
			( [ 'clear', $text{'cloud_clear'} ] ) : ( ) ]);

&ui_print_footer("list_clouds.cgi", $text{'clouds_return'});