| <?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'; | 
 |  | 
 |  |