/** * @param string $service_id * @return string * @throws BaseServiceIDMissingException * @throws BaseUserAccessDeniedException */ public static function start($service_id) { global $user; if ($user->is_admin()) { if (!is_numeric($service_id)) { throw new BaseServiceIDMissingException(); } $service = new Service($service_id); if ($service->start()) { return 1; } else { return 0; } } else { throw new BaseUserAccessDeniedException(); } }
{ $conn = @fsockopen($host, $port, $errno, $errstr, 0.2); if ($conn) { fclose($conn); return false; } return true; } require_once 'environment.class.php'; require_once 'service.class.php'; header("Content-type: text/plain"); Service::stop(); Environment::set_env(array("installed" => false, "vnc_port" => 5900, "policy_host" => $_GET['policy_host'], "policy_port" => 1234, "password" => "", "success" => false, "vnc_port_open" => false, "policy_port_open" => false, "encrypted_password" => "")); $env = Environment::get_env(); $l->log('Attempting to start the service in the following environment: ' . json_encode($env)); Service::start(); $trys = 0; $success = false; $vnc_running = false; $policy_running = false; while (!$success && $trys < 20) { if (!$vnc_running) { $vnc_running = !port_open($env['vnc_port']); } if (!$policy_running) { $policy_running = !port_open($env['policy_port'], $env['policy_host']); } if ($vnc_running && $policy_running) { $success = true; } $trys++;
<?php require DIR_CORE . 'services.php'; /** @var array $launch */ foreach ($launch as $s) { /** @var array $services */ if (isset($services[$s])) { _echo('Starting ' . $services[$s]); _echo(Service::start($s)); } else { _echo('Service ' . $s . ' not installed'); } }