Browse Source

Merge branch 'master' of https://github.com/mailcow/mailcow-dockerized

andryyy 5 years ago
parent
commit
bf2b0ab785
2 changed files with 50 additions and 0 deletions
  1. 0 0
      data/web/_apidocs.html
  2. 50 0
      data/web/json_api.php

File diff suppressed because it is too large
+ 0 - 0
data/web/_apidocs.html


+ 50 - 0
data/web/json_api.php

@@ -1117,6 +1117,56 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
               break;
               break;
             }
             }
           break;
           break;
+          case "status":
+            switch ($object) {
+              case "containers":
+                $containers = (docker('info'));
+                foreach ($containers as $container => $container_info) {
+                  $container . ' (' . $container_info['Config']['Image'] . ')';
+                  $containerstarttime = ($container_info['State']['StartedAt']);
+                  $containerstate = ($container_info['State']['Status']);
+                  $containerimage = ($container_info['Config']['Image']);
+                  $temp[$container] = array(
+                    'type' => 'info',
+                    'container' => $container,
+                    'state' => $containerstate,
+                    'started_at' => $containerstarttime,
+                    'image' => $containerimage
+                  );
+                }
+                echo json_encode($temp, JSON_UNESCAPED_SLASHES);
+              break;
+              case "vmail":
+                $exec_fields_vmail = array('cmd' => 'system', 'task' => 'df', 'dir' => '/var/vmail');
+                $vmail_df = explode(',', json_decode(docker('post', 'dovecot-mailcow', 'exec', $exec_fields_vmail), true));
+                $temp = array(
+                  'type' => 'info',
+                  'disk' => $vmail_df[0],
+                  'used' => $vmail_df[2],
+                  'total'=> $vmail_df[1],
+                  'used_percent' => $vmail_df[4]
+                );
+                echo json_encode($temp, JSON_UNESCAPED_SLASHES);
+            break;
+            case "solr":
+              $solr_status = solr_status();
+              $solr_size = ($solr_status['status']['dovecot-fts']['index']['size']);
+              $solr_documents = ($solr_status['status']['dovecot-fts']['index']['numDocs']);
+              if (strtolower(getenv('SKIP_SOLR')) != 'n') {
+                $solr_enabled = false;
+              }
+              else {
+                $solr_enabled = true;
+              }
+              echo json_encode(array(
+                'type' => 'info',
+                'solr_enabled' => $solr_enabled,
+                'solr_size' => $solr_size,
+                'solr_documents' => $solr_documents
+              ));
+            break;
+            }
+          break;
         break;
         break;
         // return no route found if no case is matched
         // return no route found if no case is matched
         default:
         default:

Some files were not shown because too many files changed in this diff