Request Analyse reviewed, Server Initialisation Reviewed, Core Class Interface Created, App created

This commit is contained in:
EoleDev 2016-02-05 00:07:31 +01:00
parent b39f5c1cd4
commit c2a5b1880c
6 changed files with 147 additions and 83 deletions

68
server/core/App.php Executable file
View file

@ -0,0 +1,68 @@
<?php
include_once("core/Plugin_Api.php");
include_once("core/LibOverride/genTokenOptions.php");
class App{
protected $openstack;
protected $pluginsApi;
protected $tokenClass;
protected $tokenPost;
protected $output;
public function __construct($args){
$this->tokenPost = NULL;
$this->tokenClass = new genTokenOptions($args);
$this->openstack = new OpenStack\OpenStack([]);
$this->pluginsApi = plugin_api::getInstance();
$this->output = array();
}
public function setToken($token){
$this->tokenPost = $token;
$this->tokenClass->loadBackup($his->tokenPost);
}
public function getLibClass($service){
switch($service){
case "Identity":
if($tokenPost == NULL) $tokenClass->genIdentityToken();
$opt = $tokenClass->getOptions($service);
return $this->openstack->identityV3($opt);
break;
}
}
public function authenticate(){
try{
$this->tokenClass->genIdentityToken();
$this->tokenClass->genComputeToken();
$this->tokenClass->genImageToken();
$this->tokenClass->genNetworkToken();
$this->setOutput("token", $this->tokenClass->getBackup());
}catch(Exception $e){
echo $e;
exit();
}
}
public function setOutput($key, $out){
$this->output[$key] = $out;
}
public function show(){
echo json_encode($this->output);
}
}

7
server/core/CoreInterface.php Executable file
View file

@ -0,0 +1,7 @@
<?php
interface Core{
public function action($action);
}

27
server/core/Identity.php Normal file → Executable file
View file

@ -1,19 +1,28 @@
<?php
class identity {
class identity implements Core{
protected $oidentity;
protected $app;
protected $libClass;
protected $action;
public function __construct($ostack, $apiP){
public function __construct($app){
$this->oidentity = $ostack->identityV3();
$this->plugins = $apiP;
$this->app = $app;
if($app->getOptions("Identity"))
$this->libClass = $app->getLibClass("Identity");
}
public function action($action){
//To be Complete
}
public function genToken(){
global $Args;
$token = $this->oidentity->generateToken($Args);
return $token;
}
//To be Complete
}
}

View file

@ -81,7 +81,7 @@ class genTokenOptions
$options['catalogType'] = 'false';
$options['region'] = 'RegionOne';
$this->backup['Identity'] = unserialize($opt);
$this->backup['Identity'] = $opt;
$token = $this->unserializeToken($this->backup['Identity']['token']);
$baseUrl = $this->backup['Identity']['baseUrl'];
@ -129,7 +129,7 @@ class genTokenOptions
$options['catalogType'] = 'image';
$options['region'] = 'RegionOne';
$this->backup['Image'] = unserialize($opt);
$this->backup['Image'] = $opt;
$token = $this->unserializeToken($this->backup['Image']['token']);
$baseUrl = $this->backup['Image']['baseUrl'];
@ -176,7 +176,7 @@ class genTokenOptions
$options['catalogType'] = 'network';
$options['region'] = 'RegionOne';
$this->backup['Network'] = unserialize($opt);
$this->backup['Network'] = $opt;
$token = $this->unserializeToken($this->backup['Network']['token']);
$baseUrl = $this->backup['Network']['baseUrl'];
@ -224,7 +224,7 @@ class genTokenOptions
$options['catalogType'] = 'compute';
$options['region'] = 'RegionOne';
$this->backup['Compute'] = unserialize($opt);
$this->backup['Compute'] = $opt;
$token = $this->unserializeToken($this->backup['Compute']['token']);
$baseUrl = $this->backup['Compute']['baseUrl'];
@ -242,8 +242,18 @@ class genTokenOptions
$this->optionsGlobal['Compute'] = $options;
}
public function getBackup($service){
return serialize($this->backup[$service]);
public function getBackup(){
return serialize($this->backup);
}
public function loadBackup($back){
$backup = unserialize($back);
loadComputeBackup($backup["Compute"]);
loadIdentityBackup($backup["Identity"]);
loadImageBackup($backup["Image"]);
loadNetworkBackup($backup["Network"]);
}
public function getOptions($service){