#!/usr/bin/php
<?php


require_once("/var/lib/alternc-lxc/alternc_lxc.class.php");

function help() {
  echo "Actions:\n";
  echo " * ".$_SERVER['SCRIPT_NAME']." start login password_hash UID\n";
  echo " * ".$_SERVER['SCRIPT_NAME']." stop vm\n";
  echo " * ".$_SERVER['SCRIPT_NAME']." stopall\n";
  echo " * ".$_SERVER['SCRIPT_NAME']." monit\n";
  echo " * ".$_SERVER['SCRIPT_NAME']." list\n";
  echo " * ".$_SERVER['SCRIPT_NAME']." lock\n";
  echo " * ".$_SERVER['SCRIPT_NAME']." unlock\n";
  echo "\n";
}

# Must be launched as root
if (shell_exec("/usr/bin/id -u") != 0 ) {
  echo "Script must be launch as root.\n";
  die();
}

# There must be at least one parameters
if (empty($argv[1])) {
  help();
  die();
}

$filename = '/etc/alternc-lxc/vms.json';
$conf = json_decode(file_get_contents($filename), TRUE);

$lxc = new alternc_lxc();
$lxc->conf=$conf;

# Here we go
switch ($argv[1]) {
  case "start":
    if (empty($argv[2]) || empty($argv[3]) || empty($argv[4])) {
      help();
      die();
    }
    $r = $lxc->start_vm($argv[2], $argv[3], $argv[4]);
    echo serialize($r);
    break;
  case "stopall":
    $r=$lxc->stopall_vm();
    echo serialize($r);
    break;
  case "stop":
    if (empty($argv[2])) {
      help();
      die();
    }
    $r=$lxc->stop_vm($argv[2]);
    echo serialize($r);
    break;
  case "unlock":
    $r=$lxc->unlock();
    echo serialize($r);
    break;
  case "lock":
    $r=$lxc->lock();
    echo serialize($r);
    break;
  case "monit":
    $r=$lxc->monit();
    echo serialize($r);
    break;
  case "list":
    $r=$lxc->listvm();
    echo "$r";
    break;
  default:
    help();
    die();
}

?>