From 804fd8dcb0ea3041752a249647128db433eec8b4 Mon Sep 17 00:00:00 2001 From: Andre Rohlf Date: Sun, 12 Jul 2020 19:44:16 +0200 Subject: [PATCH] Add diskspace view on masterserver (#1254) * Add diskspace view on masterserver * Change Storage Space Style - Green / Orange / Red button style shows the status of the remaining space * Add unknown danger button Co-authored-by: Nexus633 --- languages/default/de/general.xml | 5 +++ languages/default/dk/general.xml | 5 +++ languages/default/it/general.xml | 5 +++ languages/default/pt/general.xml | 5 +++ languages/default/ru/general.xml | 5 +++ languages/default/uk/general.xml | 5 +++ stuff/ajax/datatable_appmasterserver.php | 38 +++++++++++++++++++- stuff/methods/class_masterserver.php | 11 ++++++ template/default/admin/admin_master_list.tpl | 2 ++ 9 files changed, 80 insertions(+), 1 deletion(-) diff --git a/languages/default/de/general.xml b/languages/default/de/general.xml index d253692f..1a7fe51e 100644 --- a/languages/default/de/general.xml +++ b/languages/default/de/general.xml @@ -101,6 +101,11 @@ Passwort Servertag Gestopt + Speicher + Eingehangen: + Größe: + Benutzt: + Frei: Stoppen Subnets Vertreter diff --git a/languages/default/dk/general.xml b/languages/default/dk/general.xml index ece8130a..c7db5a68 100644 --- a/languages/default/dk/general.xml +++ b/languages/default/dk/general.xml @@ -83,6 +83,11 @@ Stop + Opbevaring + Monteret: + Størrelse: + Brugt: + Ledig: Subnets Suppleanter Ny Support Billet diff --git a/languages/default/it/general.xml b/languages/default/it/general.xml index e04a2cfd..de8fb5b1 100644 --- a/languages/default/it/general.xml +++ b/languages/default/it/general.xml @@ -106,6 +106,11 @@ Tag Arrestato Arresta + Conservazione + a Cavallo: + Taglia: + Usato: + Gratuito: Sottoreti Sostituti Nuovo ticket di supporto diff --git a/languages/default/pt/general.xml b/languages/default/pt/general.xml index 86b1583d..9fdcc0c0 100644 --- a/languages/default/pt/general.xml +++ b/languages/default/pt/general.xml @@ -106,6 +106,11 @@ Marca Parado Parar + Armazenamento + Montado: + Tamanho: + Usava: + Livre: Subnações SubUsuários Novo ticket de suporte diff --git a/languages/default/ru/general.xml b/languages/default/ru/general.xml index 94b9f8e5..a5d9c73c 100644 --- a/languages/default/ru/general.xml +++ b/languages/default/ru/general.xml @@ -104,6 +104,11 @@ Имя бренда Остановлен Остановить + Место хранения + смонтированный: + размер: + Используемый: + Свободно: Subnets Администраторы Новый тикет diff --git a/languages/default/uk/general.xml b/languages/default/uk/general.xml index ac1cad12..fe988984 100644 --- a/languages/default/uk/general.xml +++ b/languages/default/uk/general.xml @@ -106,6 +106,11 @@ Brandname Stopped Stop + Space + Mount: + Size: + Used: + Free: Subnets Subusers New support ticket diff --git a/stuff/ajax/datatable_appmasterserver.php b/stuff/ajax/datatable_appmasterserver.php index 21be0f19..aebfa2cb 100644 --- a/stuff/ajax/datatable_appmasterserver.php +++ b/stuff/ajax/datatable_appmasterserver.php @@ -158,7 +158,43 @@ while ($row = $query->fetch(PDO::FETCH_ASSOC)) { foreach ($sshcheck as $shorten) { $statusList[$shorten] = false; } + + } - $array['aaData'][] = array($row['ip'], $row['id'], $description, returnButton($template_to_use, 'ajax_admin_master_list.tpl', $statusList, '', '', ''), returnButton($template_to_use, 'ajax_admin_buttons_dl.tpl', 'ma', 'dl', $row['id'], $gsprache->del) . ' ' . returnButton($template_to_use, 'ajax_admin_buttons_add.tpl', 'ma', 'ad', $row['id'], $gsprache->add)); + // Add Server space data - Nexus633 + $space = null; + $homespace = $rootServer->getDiskSpace("/home"); + if (strlen($homespace) > 0){ + $space = json_decode($homespace); + }else{ + $rootspace = $rootServer->getDiskSpace("/"); + if (strlen($rootspace) > 0){ + $space = json_decode($rootspace); + }else{ + $space = new stdClass(); + $space->mount = "unknown"; + $space->avil = ""; + $space->used = ""; + $space->size = ""; + } + } + + if($space->mount == "unknown"){ + $spacedata = 'unknown'; + + }else{ + $perc = substr($space->perc, 0, -1); + if($perc <= 50){ + $btn = "btn-success"; + }else if($perc > 50 && $perc <= 80){ + $btn = "btn-warning"; + }else{ + $btn = "btn-danger"; + } + $spacedata = ' ' . $gsprache->status_space_used . ' ' . $space->perc . ' - ' . $space->mount . ''; + $spacedata .= ' ' . $gsprache->status_space_size . '' .$space->size . ' / ' . $gsprache->status_space_free . ' ' . $space->avil . ''; + } + + $array['aaData'][] = array($row['ip'], $row['id'], $description, returnButton($template_to_use, 'ajax_admin_master_list.tpl', $statusList, '', '', ''), returnButton($template_to_use, 'ajax_admin_buttons_dl.tpl', 'ma', 'dl', $row['id'], $gsprache->del) . ' ' . returnButton($template_to_use, 'ajax_admin_buttons_add.tpl', 'ma', 'ad', $row['id'], $gsprache->add), $spacedata); } \ No newline at end of file diff --git a/stuff/methods/class_masterserver.php b/stuff/methods/class_masterserver.php index 8463a555..6bec4dea 100644 --- a/stuff/methods/class_masterserver.php +++ b/stuff/methods/class_masterserver.php @@ -805,6 +805,17 @@ class masterServer { return $this->sshConnectAndExecute (false, true); } + // Add Server space data - Nexus633 + public function getDiskSpace($path){ + if ($this->os == 'L') { + $this->shellScript .= 'df -h | grep -w "' . $path . '" | awk \'{print "{\n \"mount\":\"' . $path . '\",\n \"filesystem\":\"" $1 "\",\n \"size\":\"" $2 "\",\n \"used\":\"" $3 "\",\n \"avil\":\"" $4 "\",\n \"perc\":\"" $5 "\"\n}"}\'' . "\n"; + } else { + + } + + return $this->sshConnectAndExecute (false, true); + } + private function linuxMasterRemove ($shorten) { $this->shellScript .= 'if [ -d "' . $this->masterserverDir . $shorten . '" ]; then rm -rf "' . $this->masterserverDir . $shorten . '"; fi' . "\n"; } diff --git a/template/default/admin/admin_master_list.tpl b/template/default/admin/admin_master_list.tpl index 6315d0fa..65b7b1d8 100644 --- a/template/default/admin/admin_master_list.tpl +++ b/template/default/admin/admin_master_list.tpl @@ -21,6 +21,7 @@ desc;?> master;?> action;?> + status_space;?> @@ -30,6 +31,7 @@ desc;?> master;?> action;?> + status_space;?>