| Server IP : 104.21.93.65 / Your IP : 104.23.197.32 Web Server : Apache System : Linux server.localhost.com 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64 User : pahana ( 1029) PHP Version : 7.4.33 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,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/usermin/theme/ |
Upload File : |
# theme-lib.pl
BEGIN { push(@INC, ".."); };
use WebminCore;
&init_config();
# list_themes()
# Returns an array of all installed themes
sub list_themes
{
local (@rv, $o);
opendir(DIR, "..");
foreach $m (readdir(DIR)) {
local %tinfo;
next if ($m =~ /^\./);
next if (!&read_file("../$m/theme.info", \%tinfo));
next if (!&check_os_support(\%tinfo));
foreach $o (@lang_order_list) {
$tinfo{'desc'} = $tinfo{'desc_'.$o} if ($tinfo{'desc_'.$o});
}
$tinfo{'dir'} = $m;
push(@rv, \%tinfo);
}
closedir(DIR);
return @rv;
}
sub list_visible_themes
{
my ($curr) = @_;
my @rv;
my %done;
foreach my $theme (&list_themes()) {
my $iscurr = $curr && $theme->{'dir'} eq $curr;
my $lnk = readlink($root_directory."/".$theme->{'dir'});
next if ($lnk && $lnk !~ /^\// && $lnk !~ /^\.\.\// && !$iscurr);
next if ($done{$theme->{'desc'}}++ && !$iscurr);
push(@rv, $theme);
}
return @rv;
}
1;