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/usermin/authentic-theme/mconfig_save.cgi
#!/usr/bin/perl

#
# Authentic Theme (https://github.com/authentic-theme/authentic-theme)
# Copyright Jamie Cameron <jamie@virtualmin.com>
# Copyright Ilia Rostovtsev <ilia@virtualmin.com>
# Licensed under MIT (https://github.com/authentic-theme/authentic-theme/blob/master/LICENSE)
#

use strict;
use warnings;

our (%text, %in, $root_directory, $config_directory, $remote_user, $current_theme, %theme_text);

require("$ENV{'THEME_ROOT'}/authentic-lib.pl");
require("$root_directory/config-lib.pl");

my (%newconfig, $module, $module_custom_config_file, $config_file);

$module                    = $in{'module'};
$module_custom_config_file = "$root_directory/$current_theme/modules/$module/config.info";
$config_file               = "$config_directory/$module/config";

&error_setup($text{'config_err'});
&foreign_available($module) || &error($theme_text{'config_eaccess'});

mkdir("$config_directory/$module", 0700);
if (-r $module_custom_config_file) {
    my $module_custom_config_default = "$root_directory/$current_theme/modules/$module/config.defaults";
    if (-r $module_custom_config_default) {
        &read_file($module_custom_config_default, \%newconfig);
    }
    &load_module_preferences($module, \%newconfig);
    &parse_config(\%newconfig, $module_custom_config_file, $module, undef, $in{'section'});
    &save_module_preferences($module, \%newconfig);

    # Redirect
    if ($in{'save_next'}) {

        # Used to return to the current section if needed
        my $section_next = $in{'section_curr'} || $in{'section_next'};
        &redirect("mconfig.cgi?module=$module&section=$section_next");
    } else {
        &redirect("/$module/");
    }

} else {
    &error($theme_text{'config_ecannot'});
}