causefx 7 gadi atpakaļ
vecāks
revīzija
709e7a0d73
3 mainītis faili ar 45 papildinājumiem un 0 dzēšanām
  1. 8 0
      api/functions/organizr-functions.php
  2. 19 0
      api/index.php
  3. 18 0
      js/functions.js

+ 8 - 0
api/functions/organizr-functions.php

@@ -2021,4 +2021,12 @@ function settingsPathChecks()
 		$items .= '<li class="folders-writable hidden"><div class="bg-info"><i class="mdi mdi-folder mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">' . $k . '</span> ' . (($v) ? 'Writable' : 'Not Writable') . '</li>';
 	}
 	return $result . $items;
+}
+
+function rebootDocker()
+{
+	$output = '';
+	$return_var = '';
+	exec('reboot', $output, $return_var);
+	return $output . ' - ' . $return_var;
 }

+ 19 - 0
api/index.php

@@ -1274,6 +1274,25 @@ switch ($function) {
 				break;
 		}
 		break;
+	case 'v1_reboot_docker':
+		switch ($method) {
+			case 'GET':
+				if (qualifyRequest(1)) {
+					$result['status'] = 'success';
+					$result['statusText'] = 'success';
+					$result['data'] = rebootDocker();
+				} else {
+					$result['status'] = 'error';
+					$result['statusText'] = 'API/Token invalid or not set';
+					$result['data'] = null;
+				}
+				break;
+			default:
+				$result['status'] = 'error';
+				$result['statusText'] = 'The function requested is not defined for method: ' . $method;
+				break;
+		}
+		break;
 	default:
 		//No Function Available
 		$result['status'] = 'error';

+ 18 - 0
js/functions.js

@@ -3107,6 +3107,24 @@ function countdown(remaining) {
 	$('#update-seconds').text(remaining);
     setTimeout(function(){ countdown(remaining - 1); }, 1000);
 }
+function rebootDocker(){
+    if(activeInfo.settings.misc.docker){
+        messageSingle(window.lang.translate('[DO NOT CLOSE WINDOW]'),window.lang.translate('Starting Update Process'),activeInfo.settings.notifications.position,'#FFF','success','60000');
+        organizrAPI('GET','api/?v1/reboot/docker').success(function(data) {
+            try {
+                var json = JSON.parse(data);
+            }catch(e) {
+                console.log(e + ' error: ' + data);
+                orgErrorAlert('<h4>' + e + '</h4>' + formatDebug(data));
+                return false;
+            }
+            console.log(json);
+            local('set','message',json.data);
+        }).fail(function(xhr) {
+            console.error("Organizr Function: Reboot Failed");
+        });
+    }
+}
 function updateNow(){
     if(activeInfo.settings.misc.docker){
         messageSingle(window.lang.translate('[Docker Container]'),window.lang.translate('Inline downloader disabled - Please restart container to update or download'),activeInfo.settings.notifications.position,'#FFF','warning','60000');