<?php session_start(); $AuthUsers = array("admin"); if (!isset($_SESSION['mailcow_cc_role']) OR !in_array($_SESSION['mailcow_cc_role'], $AuthUsers)) { echo "Not allowed." . PHP_EOL; exit(); } if ($_GET['ACTION'] == "start") { $request = xmlrpc_encode_request("supervisor.startProcess", 'reconf-domains', array('encoding'=>'utf-8')); $context = stream_context_create(array('http' => array( 'method' => "POST", 'header' => "Content-Length: " . strlen($request), 'content' => $request ))); $file = @file_get_contents("http://sogo:9191/RPC2", false, $context) or die("Cannot connect to $remote_server:$listener_port"); $response = xmlrpc_decode($file); if (isset($response['faultString'])) { echo '<b><span class="pull-right text-warning">' . $response['faultString'] . '</span></b>'; } else { sleep(4); $request = xmlrpc_encode_request("supervisor.startProcess", 'sogo', array('encoding'=>'utf-8')); $context = stream_context_create(array('http' => array( 'method' => "POST", 'header' => "Content-Length: " . strlen($request), 'content' => $request ))); $file = @file_get_contents("http://sogo:9191/RPC2", false, $context) or die("Cannot connect to $remote_server:$listener_port"); $response = xmlrpc_decode($file); if (isset($response['faultString'])) { echo '<b><span class="pull-right text-warning">' . $response['faultString'] . '</span></b>'; } else { echo '<b><span class="pull-right text-success">OK</span></b>'; } } } elseif ($_GET['ACTION'] == "stop") { $request = xmlrpc_encode_request("supervisor.stopProcess", 'sogo', array('encoding'=>'utf-8')); $context = stream_context_create(array('http' => array( 'method' => "POST", 'header' => "Content-Length: " . strlen($request), 'content' => $request ))); $file = @file_get_contents("http://sogo:9191/RPC2", false, $context) or die("Cannot connect to $remote_server:$listener_port"); $response = xmlrpc_decode($file); if (isset($response['faultString'])) { echo '<b><span class="pull-right text-warning">' . $response['faultString'] . '</span></b>'; } else { sleep(1); $request = xmlrpc_encode_request("supervisor.stopProcess", 'reconf-domains', array('encoding'=>'utf-8')); $context = stream_context_create(array('http' => array( 'method' => "POST", 'header' => "Content-Length: " . strlen($request), 'content' => $request ))); $file = @file_get_contents("http://sogo:9191/RPC2", false, $context) or die("Cannot connect to $remote_server:$listener_port"); $response = xmlrpc_decode($file); if (isset($response['faultString'])) { echo '<b><span class="pull-right text-warning">' . $response['faultString'] . '</span></b>'; } else { echo '<b><span class="pull-right text-success">OK</span></b>'; } } } ?>