#!/usr/local/cpanel/3rdparty/bin/perl # gniza WHM Plugin — Dashboard use strict; use warnings; use lib '/usr/local/cpanel/whostmgr/docroot/cgi/gniza-whm/lib'; use Whostmgr::HTMLInterface (); use Cpanel::Form (); use GnizaWHM::Config; use GnizaWHM::Cron; use GnizaWHM::UI; # Redirect to setup wizard if gniza is not configured unless (GnizaWHM::UI::is_configured()) { print "Status: 302 Found\r\n"; print "Location: setup.cgi\r\n\r\n"; exit; } print "Content-Type: text/html\r\n\r\n"; Whostmgr::HTMLInterface::defheader('gniza Backup Manager — Dashboard', '', '/cgi/gniza-whm/index.cgi'); print GnizaWHM::UI::page_header('gniza Backup Manager'); print GnizaWHM::UI::render_nav('index.cgi'); print GnizaWHM::UI::render_flash(); # Quick links print qq{
\n}; print qq{ Run Setup Wizard\n}; print qq{
\n}; # Version my $version = GnizaWHM::UI::get_gniza_version(); print qq{
\n
\n}; print qq{

Overview

\n}; print qq{
\n}; print qq{\n}; print qq{
gniza version} . GnizaWHM::UI::esc($version) . qq{
\n}; print qq{
\n
\n}; # Remote destinations my @remotes = GnizaWHM::UI::list_remotes(); print qq{
\n
\n}; print qq{

Configured Remotes

\n}; if (@remotes) { print qq{
\n}; print qq{\n}; print qq{\n}; for my $name (@remotes) { my $conf = GnizaWHM::Config::parse(GnizaWHM::UI::remote_conf_path($name), 'remote'); my $host = GnizaWHM::UI::esc($conf->{REMOTE_HOST} // ''); my $port = GnizaWHM::UI::esc($conf->{REMOTE_PORT} // '22'); my $retention = GnizaWHM::UI::esc($conf->{RETENTION_COUNT} // '30'); my $esc_name = GnizaWHM::UI::esc($name); print qq{\n}; } print qq{\n
NameHostPortRetention
$esc_name$host$port$retention
\n}; } else { print qq{

No remotes configured. Run the setup wizard to add one.

\n}; } print qq{
\n
\n}; # Active schedules my $schedules = GnizaWHM::Cron::get_current_schedules(); print qq{
\n
\n}; print qq{

Active Cron Schedules

\n}; if (keys %$schedules) { print qq{
\n}; print qq{\n}; print qq{\n}; for my $name (sort keys %$schedules) { my $esc_name = GnizaWHM::UI::esc($name); my $esc_line = GnizaWHM::UI::esc($schedules->{$name}); print qq{\n}; } print qq{\n
ScheduleCron Entry
$esc_name$esc_line
\n}; } else { print qq{

No active gniza cron entries.

\n}; } print qq{
\n
\n}; print GnizaWHM::UI::page_footer(); Whostmgr::HTMLInterface::footer();