HEX
Server: Apache/2.4.29 (Ubuntu)
System: Linux bareserver 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: root (0)
PHP: 7.2.24-0ubuntu0.18.04.17
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,
Upload Files
File: //usr/share/webmin/vgetty/delete.cgi
#!/usr/bin/perl
# delete.cgi
# Delete a bunch of voicemail messages

require './vgetty-lib.pl';
&ReadParse();
@conf = &get_config();
$mdir = &messages_dir(\@conf);
@del = split(/\0/, $in{'del'});
$index = &messages_index(\@conf);
&lock_file($index);
open(INDEX, "<$index");
@index = map { chomp; $_ } <INDEX>;
close(INDEX);
if (!@index) {
	$bak = &find_value("backup_message", \@conf);
	push(@index, $bak) if (-r "$mdir/$bak");
	}
if ($in{'move'}) {
	$rdir = &receive_dir(\@conf);
	foreach $f (@del) {
		$f =~ /\.\./ && &error($text{'delete_efile'});
		rename("$rdir/$f", "$mdir/$f");
		}
	push(@index, @del);
	&open_tempfile(INDEX, ">$index");
	&print_tempfile(INDEX, map { "$_\n" } @index);
	&close_tempfile(INDEX);
	&unlock_file($index);
	&webmin_log("move", undef, undef, { 'del' => \@del });
	&redirect("list_received.cgi");
	}
else {
	$dir = $in{'mode'} ? &messages_dir(\@conf) : &receive_dir(\@conf);
	foreach $f (@del) {
		$f =~ /\.\./ && &error($text{'delete_efile'});
		unlink("$dir/$f");
		}
	if ($in{'mode'}) {
		@index = grep { &indexof($_, @del) < 0 } @index;
		&open_tempfile(INDEX, ">$index");
		&print_tempfile(INDEX, map { "$_\n" } @index);
		&close_tempfile(INDEX);
		}
	&unlock_file($index);
	&webmin_log("delete", $in{'mode'}, undef, { 'del' => \@del });
	&redirect($in{'mode'} ? "list_messages.cgi" : "list_received.cgi");
	}