diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 96b2b65..3225a2a 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -1214,6 +1214,10 @@ $routes->group('setting', static function($routes) { $routes->get('admin/abdm-report-doctors', 'Setting\\AbdmReportDoctorSettings::index', ['filter' => $settingsAdminFilter]); $routes->post('admin/abdm-report-doctors/save', 'Setting\\AbdmReportDoctorSettings::save', ['filter' => $settingsAdminFilter]); $routes->get('admin/hospital-profile', 'Setting\\HospitalProfile::index'); + $routes->get('admin/system-ops', 'SystemOps::index', ['filter' => $settingsAdminFilter]); + $routes->get('admin/system-ops/panel', 'SystemOps::panel', ['filter' => $settingsAdminFilter]); + $routes->post('admin/system-ops/update', 'SystemOps::update', ['filter' => $settingsAdminFilter]); + $routes->post('admin/system-ops/action', 'SystemOps::action', ['filter' => $settingsAdminFilter]); $routes->post('admin/hospital-profile/save', 'Setting\\HospitalProfile::save'); $routes->post('admin/hospital-profile/delete-logo', 'Setting\\HospitalProfile::deleteLogo'); $routes->post('admin/hospital-profile/reset', 'Setting\\HospitalProfile::reset'); diff --git a/app/Controllers/SystemOps.php b/app/Controllers/SystemOps.php new file mode 100644 index 0000000..96a1ac9 --- /dev/null +++ b/app/Controllers/SystemOps.php @@ -0,0 +1,48 @@ + $ops->collectStatus(), + 'history' => $ops->getHistory(), + ]; + + return view('Setting/Admin/system_ops', $data); + } + + public function panel(): string + { + $ops = new SystemOperations(); + $data = [ + 'status' => $ops->collectStatus(), + 'history' => $ops->getHistory(), + ]; + + return view('Setting/Admin/system_ops_panel', $data); + } + + public function update() + { + $ops = new SystemOperations(); + $result = $ops->runUpdate(); + + return $this->response->setJSON($result); + } + + public function action() + { + $action = (string) $this->request->getPost('action'); + $ops = new SystemOperations(); + $result = $ops->runServerAction($action); + + return $this->response->setJSON($result); + } +} diff --git a/app/Views/Setting/Admin/system_ops.php b/app/Views/Setting/Admin/system_ops.php new file mode 100644 index 0000000..5100b88 --- /dev/null +++ b/app/Views/Setting/Admin/system_ops.php @@ -0,0 +1,99 @@ +
+
+

System Operations

+ +
+ + + +
+ $status, 'history' => $history]) ?> +
+ + +
diff --git a/app/Views/Setting/Admin/system_ops_panel.php b/app/Views/Setting/Admin/system_ops_panel.php new file mode 100644 index 0000000..349673d --- /dev/null +++ b/app/Views/Setting/Admin/system_ops_panel.php @@ -0,0 +1,146 @@ +
+
+
+
+
Server Overview
+
+ Healthy + Live +
+
+
+
+
+
+
Host
+
+
+
+
+
+
OS
+
+
+
+
+
+
Uptime
+
+
+
+
+
+
Network
+
+
+
+
+
+
+
+
+
+
+
Maintenance Actions
+
+
+ + + + + +
+
+
+ +
+
+
Resource Usage
+
+
+
CPU%
+
+
+
RAM / MB
+
+
+
Disk / GB
+
+
+
+
+ +
+
+
Services & RAID
+
+
+
Internet
+
+
+
+
Services
+
+
+
+
RAID
+
+
+
+
+
+ +
+
+
Latest Events
+
+
    + +
  • +
    +
    +
    +
  • + +
+
+
+
+ +
+
+
Update History
+
+ +
No history yet.
+ +
+ + + + + + + + + + + + + + + + + + + +
TimeTypeStatusMessage
+ + +
+
+ +
+
+
+