istic-openstack/server/index.php
2016-04-27 14:22:59 +02:00

90 lines
1.8 KiB
PHP
Executable file

<?php
/**
* File containing the code for the API door.
*
* @version 1.0 Initialisation of this file
* @since 1.0 Core application's file
*
* @author Eole 'eoledev at outlook . fr'
*
*/
/*
*/
//loading dependencies
require "vendor/autoload.php";
//Include general config file
include_once("config.inc.php");
//Include API initialisation
include_once("init.php");
if(isset($_POST["task"]) && isset($_POST["action"])){
$task = $_POST["task"];
$action = $_POST["action"];
}else if(isset($_POST["task"]) && $_POST["task"] == "Authenticate" || $_POST["task"] == "Deauthenticate"){
$task = $_POST["task"];
}else{
$App->setOutput("Error", "Invalid Request!");
$App->show();
exit();
}
//Authentification and deauthentification request
if($task == "Authenticate"){
$App->authenticate();
$App->show();
}else if($task == "Deauthenticate"){
$App->deauthenticate();
$App->show();
}else if($App->checkToken()){
//Task switcher and task's file loader
switch($task)
{
case "identity":
include_once("core/Identity.php");
$identityObject = new identity($App);
$identityObject->action($action);
$App->show();
break;
case "network":
include_once("core/Network.php");
$networkObject = new network($App);
$networkObject->action($action);
$App->show();
break;
case "image":
include_once("core/Image.php");
$imageObject = new image($App);
$imageObject->action($action);
$App->show();
break;
case "compute":
include_once("core/Compute.php");
$computeObject = new compute($App);
$computeObject->action($action);
$App->show();
break;
case "networkLayer3":
include_once("core/NetworkLayer3.php");
$computeObject = new networkLayer3($App);
$computeObject->action($action);
$App->show();
break;
}
}else{
//Request without authentication
$App->setOutput("Error", "Token Invalide");
$App->show();
}