|  | <?php | 
|  | require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php'; | 
|  |  | 
|  | if (!isset($_SESSION['mailcow_cc_role']) || $_SESSION['mailcow_cc_role'] != "admin") { | 
|  | header('Location: /'); | 
|  | exit(); | 
|  | } | 
|  |  | 
|  | require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php'; | 
|  | $_SESSION['return_to'] = $_SERVER['REQUEST_URI']; | 
|  | $solr_status = (preg_match("/^([yY][eE][sS]|[yY])+$/", $_ENV["SKIP_SOLR"])) ? false : solr_status(); | 
|  | $clamd_status = (preg_match("/^([yY][eE][sS]|[yY])+$/", $_ENV["SKIP_CLAMD"])) ? false : true; | 
|  |  | 
|  |  | 
|  | if (!isset($_SESSION['gal']) && $license_cache = $redis->Get('LICENSE_STATUS_CACHE')) { | 
|  | $_SESSION['gal'] = json_decode($license_cache, true); | 
|  | } | 
|  |  | 
|  | $js_minifier->add('/web/js/site/debug.js'); | 
|  |  | 
|  | // vmail df | 
|  | $exec_fields = array('cmd' => 'system', 'task' => 'df', 'dir' => '/var/vmail'); | 
|  | $vmail_df = explode(',', (string)json_decode(docker('post', 'dovecot-mailcow', 'exec', $exec_fields), true)); | 
|  |  | 
|  | // containers | 
|  | $containers = (array) docker('info'); | 
|  | if ($clamd_status === false) unset($containers['clamd-mailcow']); | 
|  | if ($solr_status === false) unset($containers['solr-mailcow']); | 
|  | ksort($containers); | 
|  | foreach ($containers as $container => $container_info) { | 
|  | date_default_timezone_set('UTC'); | 
|  | $StartedAt = date_parse($container_info['State']['StartedAt']); | 
|  | if ($StartedAt['hour'] !== false) { | 
|  | $date = new \DateTime(); | 
|  | $date->setTimestamp(mktime( | 
|  | $StartedAt['hour'], | 
|  | $StartedAt['minute'], | 
|  | $StartedAt['second'], | 
|  | $StartedAt['month'], | 
|  | $StartedAt['day'], | 
|  | $StartedAt['year'])); | 
|  | $user_tz = new DateTimeZone(getenv('TZ')); | 
|  | $date->setTimezone($user_tz); | 
|  | $started = $date->format('r'); | 
|  | } | 
|  | else { | 
|  | $started = '?'; | 
|  | } | 
|  | $containers[$container]['State']['StartedAtHR'] = $started; | 
|  | } | 
|  |  | 
|  | // get mailcow data | 
|  | $hostname = getenv('MAILCOW_HOSTNAME'); | 
|  | $timezone = getenv('TZ'); | 
|  |  | 
|  | $template = 'debug.twig'; | 
|  | $template_data = [ | 
|  | 'log_lines' => getenv('LOG_LINES'), | 
|  | 'vmail_df' => $vmail_df, | 
|  | 'hostname' => $hostname, | 
|  | 'timezone' => $timezone, | 
|  | 'gal' => @$_SESSION['gal'], | 
|  | 'license_guid' => license('guid'), | 
|  | 'solr_status' => $solr_status, | 
|  | 'solr_uptime' => round($solr_status['status']['dovecot-fts']['uptime'] / 1000 / 60 / 60), | 
|  | 'clamd_status' => $clamd_status, | 
|  | 'containers' => $containers, | 
|  | 'lang_admin' => json_encode($lang['admin']), | 
|  | 'lang_debug' => json_encode($lang['debug']), | 
|  | 'lang_datatables' => json_encode($lang['datatables']), | 
|  | ]; | 
|  |  | 
|  | require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php'; | 
|  |  | 
|  |  |