Merge branch 'develop' into Evan

mise a jour
This commit is contained in:
Yoggzo 2016-02-08 17:10:24 +01:00
commit f1585a1332
16 changed files with 1215 additions and 192 deletions

View file

@ -71,6 +71,9 @@
<script src="./vendors/angularjs/angular-sanitize.min.js"></script>
<script src="./js/app.js"></script>
<!-- Include services -->
<script src="./js/services/sharedProfile.js"></script>
<!-- Include resquest dependencies -->
<script src="./js/requests/identity.js"></script>
@ -79,7 +82,8 @@
<script src="./js/controllers/status.js"></script>
<script src="./js/controllers/home/main.js"></script>
<script src="./js/controllers/network/main.js"></script>

View file

@ -1,9 +1,16 @@
// Declare main app
/**
* The main app module instance
* @type angular.module.angular-1_3_6_L1749.moduleInstance
*/
var mainApp=angular.module("mainApp",['ngRoute', 'ngSanitize']);
/**
* Configure routeProvider
*/
mainApp.config(['$routeProvider', function($routeProvider){
$routeProvider.
when('/home',{
templateUrl: 'partials/home/main.html',
@ -15,4 +22,13 @@ mainApp.config(['$routeProvider', function($routeProvider){
}).otherwise({
redirectTo: '/home'
});
}]);
}]);
/**
* Configure httpProvider
*/
mainApp.config(['$httpProvider', function($httpProvider){
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
}]);

View file

@ -1,9 +1,8 @@
/*
* home Controller
/**
* The home controller
*
* @param {$scope} $scope The $scope service from angular
*/
mainApp.controller('homeCtrl', function ($scope)
{

View file

@ -1,39 +1,60 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Represents a book.
* @constructor
* The login controler
* @param {$scope} $scope The $scope angular service
* @param {$sce} $sce The $sce angular service
* @param {$http} $http The $http angular service
* @param {sharedProfile} sharedProfile The sharedProfile service
*/
mainApp.controller('loginCtrl', function ($scope,$interval,$sce)
mainApp.controller('loginCtrl', ['$scope','$sce','$http', 'sharedProfile', function ($scope,$sce, $http, sharedProfile)
{
// Define default states
$('#loginModal').modal({backdrop: 'static', keyboard: false});
$('#loadingLoginButton').hide();
$('#failedToLoginAlert').hide();
// Define default states
$('#loginModal').modal({backdrop: 'static', keyboard: false});
$('#loadingLoginButton').hide();
$('#failedToLoginAlert').hide();
$('#loginButton').click(function(){
$('#loginButton').click(function(){
$('#loginButton').hide();
$('#loadingLoginButton').show();
$('#failedToLoginAlert').hide();
var username=$("#loginFormUsername").val();
var password=$("#loginFormPassword").val();
var projectname=$("#loginFormProjectname").val();
var result=identity.request.login($http,username, password, projectname);
result.then(function (response){
// Parser result
var requestResultObject=identity.requestParser.parseLoginAnswer(response);
// Check for error
if(requestResultObject.status!==0){
//alert(result.data)
$('#failedToLoginAlert').show();
}
else {
$('#loginModal').modal('hide');
sharedProfile.username=username;
sharedProfile.projectname=projectname;
$interval(
function()
{
$('#failedToLoginAlert').show();
}
// Reset button state
$('#loginButton').show();
$('#loadingLoginButton').hide();
}, 2000,1);
$('#loadingLoginButton').hide();
},function(response){
$('#failedToLoginAlert').show();
// Reset button state
$('#loginButton').show();
$('#loadingLoginButton').hide();
});
});
})
}]);

View file

@ -1,9 +1,8 @@
/*
* network Controller
/**
* The network controller
*
* @param {$scope} $scope The $scope service from angular
*/
mainApp.controller('networkCtrl', function ($scope)
{
});

View file

@ -1,28 +1,14 @@
/*
* mainApp Controller
/**
* The status controller
*
* @param {$scope} $scope The $scope service from angular
* @param {sharedProfile} sharedProfile The sharedProfile build by ourself
*/
mainApp.controller('statusCtrl', function ($scope,$interval,$sce)
mainApp.controller('statusCtrl', ['$scope','sharedProfile', function ($scope, sharedProfile)
{
$scope.username="John Doe";
$scope.projectname="Web Server";
// Update status every 2 seconds
/*$interval(function(){
var status=identity.fetchStatus();
$scope.username=status[1];
$scope.lastconnection=status[2];
if(status[0] == "1"){
$scope.connection=$sce.trustAsHtml("<span style=\"color:green;\">Online</span>");
}
else{
$scope.connection=$sce.trustAsHtml("<span style=\"color:red;\">Offline</span>");
}
}, 2000);*/
$scope.profile=sharedProfile;
});
}]);

View file

@ -1,42 +1,52 @@
// Make Namespace
var identity = {} ;
/**
* Client Identity Module
* @namespace identity
*/
var identity = {};
/**
* Contain all request who can be send with http request
* @namespace request
*/
identity.request = {};
/**
* Contain parser for result of request made by {@link identity.request}
* @namespace request
*/
identity.requestParser = {};
/**
*
* @param {object} $http Angular $http service
* @param {string} username The user name
* @param {string} password The user password
* @param {string} projectname The user project name
* @returns {promise} The result of the request
*/
identity.request.login=function($http,username, password,projectname){
return $http.post('../server/index.php',
$.param({"task" : "Authenticate", "user" : username, "password" : password, "project" : projectname}));
};
/*
mainApp.controller('identityCtrl', function($scope, $http) {
$scope.identityFormData = {};
$scope.processForm = function() {
$http({
method : 'POST',
url : 'http://148.60.11.31/',
data : $.param($scope.identityFormData),
headers : { 'Content-Type': 'application/x-www-form-urlencoded' }
})
.success(function(data) {
console.log(data);
if (!data.success) {
// if not successful, bind errors to error variables
//$scope.errorName = data.errors.name;
//$scope.errorSuperhero = data.errors.superheroAlias;
} else {
// if successful, bind success message to message
//$scope.message = data.message;
}
});
};
});*/
/**
*
* @param {string} response The response to parse
* @returns {requestParserResult} Formated data
*/
identity.requestParser.parseLoginAnswer=function(response){
var requestParserResult={};
requestParserResult.status=0;
requestParserResult.data=response.data;
// TODO
return requestParserResult;
};

View file

@ -0,0 +1,13 @@
/**
* The sharedProfile service
* It's used to shared the profile between controller
*/
mainApp.factory('sharedProfile',[function(){
var profile={};
profile.username="None";
profile.projectname="None";
return profile;
}]);

View file

@ -12,18 +12,18 @@
<div class="modal-body">
<div class="form-group">
<label label-default="" for="inputUser">User</label>
<input class="form-control" id="inputUser"
<label label-default="" for="loginFormUsername">User</label>
<input class="form-control" id="loginFormUsername"
placeholder="Email" type="text" ng-model="identityFormData.user">
</div>
<div class="form-group">
<label label-default="" for="inputProject">Project</label>
<input class="form-control" id="inputProject"
placeholder="Project Name" type="password" ng-model="identityFormData.project">
<label label-default="" for="loginFormProjectname">Project</label>
<input class="form-control" id="loginFormProjectname"
placeholder="Project Name" type="text" ng-model="identityFormData.project">
</div>
<div class="form-group">
<label label-default="" for="inputPassword">Password</label>
<input class="form-control" id="inputPassword"
<label label-default="" for="loginFormPassword">Password</label>
<input class="form-control" id="loginFormPassword"
placeholder="Password" type="password" ng-model="identityFormData.password">
</div>

View file

@ -18,8 +18,8 @@
<ul class="nav navbar-nav">
<li class="nav-divider"></li>
<li><a href="#">User : {{ username }}</a></li>
<li><a href="#">Project Name : {{ projectname }}</a></li>
<li><a href="#">User : {{ profile.username }}</a></li>
<li><a href="#">Project Name : {{ profile.projectname }}</a></li>
<!--<li><a href="#" >Connection : <span ng-bind-html="connection"></span></a></li>-->

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);
}

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

@ -1,19 +1,939 @@
<?php
/**
* File containing the identity Class.
*
* @version 1.0 Initialisation of this file
* @since 1.0 Core application's file
*
* @author Eole 'eoledev at outlook . fr'
*
* @todo Complete the functions and finish the descriptions
*/
/**
* Identity Class of the back-end application
*
* This class allow the communication between the front-end application and
* the library which allow to send requests to an Openstack instance.
*
*/
class identity implements Core{
/** @var App $app protected, contains the main app object */
protected $app;
class identity {
/** @var OpenStack\Identity $libClass protected, contains the library Identity object */
protected $libClass;
/** @var array $actions protected, contains the functions which can be call by the front-end */
protected $actions = array();
protected $oidentity;
/**
* identity constructor
*
* @param App $app the main app object
*
* @throws [Type] [<description>]
*
* @return identity
*/
public function __construct($app){
public function __construct($ostack, $apiP){
$this->app = $app;
$this->libClass = $app->getLibClass("Identity");
$this->oidentity = $ostack->identityV3();
$this->plugins = $apiP;
}
public function genToken(){
global $Args;
$token = $this->oidentity->generateToken($Args);
return $token;
}
$credentials = array();
/**
* Add a credential for the given user/project.
*
* Create a secret/access pair for use with ec2 style auth.
* This operation will generates a new set of credentials that map the user/project pair.
*
* @throws [Type] [<description>]
*
* @return void
*/
$credentials["addCredential"] = function(){
}
/**
* List the credentials for a given user.
*
* @throws [Type] [<description>]
*
* @return void
*/
$credentials["listCredentials"] = function(){
}
/**
* Retrieve a users access/secret pair by the access key.
*
* @throws [Type] [<description>]
*
* @return void
*/
$credentials["showCredential"] = function(){
}
/**
* Update a users access/secret pair.
*
* @throws [Type] [<description>]
*
* @return void
*/
$credentials["updateCredential"] = function(){
}
/**
* Delete a users access/secret pair.
*
* @throws [Type] [<description>]
*
* @return void
*/
$credentials["deleteCredential"] = function(){
}
$domains = array();
/**
* Add a domain to an OpenStack instance.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["addDomain"] = function(){
}
/**
* Retrieve the different domain's list.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["listDomains"] = function(){
}
/**
* Retrieve the details of a given domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["showDomain"] = function(){
}
/**
* Update the given domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["updateDomain"] = function(){
}
/**
* Delete the given domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["deleteDomain"] = function(){
}
/**
* Retrieve the different roles of a given user in a domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["listRolesDomainUser"] = function(){
}
/**
* Grant a role to a given user in a domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["grantRoleDomainUser"] = function(){
}
/**
* Verify that a user has a given role in a domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["checkRoleDomainUser"] = function(){
}
/**
* Delete a role for a given user in a domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["revokeRoleDomainUser"] = function(){
}
/**
* Retrieve the roles of a given group in a domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["listRolesDomainGroup"] = function(){
}
/**
* Add a role to a given group in a domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["grantRoleDomainGroup"] = function(){
}
/**
* Verify that a role is associated with a given group in a domain.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["checkRoleDomainGroup"] = function(){
}
/**
* Delete a role for a given group in a domain.
*
* A *description*, that can span multiple lines, to go _in-depth_ into the details of this element
* and to provide some background information or textual references.
*
* @param string $myArgument With a *description* of this argument, these may also
* span multiple lines.
*
* @throws [Type] [<description>]
*
* @return void
*/
$domains["revokeRoleDomainGroup"] = function(){
}
$endpoints = array();
/**
* Add an endpoint to the Openstack instance
*
* @throws [Type] [<description>]
*
* @return void
*/
$endpoints["addEndpoint"] = function(){
}
/**
* Retrieve the endpoint for the given id
*
* @throws [Type] [<description>]
*
* @return void
*/
$endpoints["getEndpoint"] = function(){
}
/**
* Retrieve the list of the different endpoints
*
* @throws [Type] [<description>]
*
* @return void
*/
$endpoints["listEndpoints"] = function(){
}
/**
* Update a given endpoint
*
* @throws [Type] [<description>]
*
* @return void
*/
$endpoints["updateEndpoint"] = function(){
}
/**
* Delete a given endpoint
*
* @throws [Type] [<description>]
*
* @return void
*/
$endpoints["deleteEndpoint"] = function(){
}
$groups = array();
/**
* Add a group.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["addGroup"] = function(){
}
/**
* Retrieve the group's list.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["listGroups"] = function(){
}
/**
* Retrieve the details of a given group.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["showGroup"] = function(){
}
/**
* Update a given group.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["updateGroup"] = function(){
}
/**
* Delete the given group.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["deleteGroup"] = function(){
}
/**
* Retrieve the users of a given group.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["listGroupUsers"] = function(){
}
/**
* Add a user to a group.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["addGroupUser"] = function(){
}
/**
* Remove a user from a given group.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["removeGroupUser"] = function(){
}
/**
* Check if a group contains a given user.
*
* @throws [Type] [<description>]
*
* @return void
*/
$groups["checkGroupUser"] = function(){
}
$policies = array();
/**
* @todo
*
* @throws [Type] [<description>]
*
* @return void
*/
$policies["addPolicies"] = function(){
}
/**
* @todo
*
* @throws [Type] [<description>]
*
* @return void
*/
$policies["listPolicies"] = function(){
}
/**
* @todo
*
* @throws [Type] [<description>]
*
* @return void
*/
$policies["showPolicie"] = function(){
}
/**
* @todo
*
* @throws [Type] [<description>]
*
* @return void
*/
$policies["updatePolicies"] = function(){
}
/**
* @todo
*
* @throws [Type] [<description>]
*
* @return void
*/
$policies["deletePolicies"] = function(){
}
$projects = array();
/**
* Add a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["addProject"] = function(){
}
/**
* Retrieve the different projects.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["listProjects"] = function(){
}
/**
* Retrieve the details of a given project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["showProject"] = function(){
}
/**
* Update a given project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["updateProject"] = function(){
}
/**
* Delete a given project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["deleteProject"] = function(){
}
/**
* List the roles of a given user in a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["listRolesProjectUser"] = function(){
}
/**
* Grant a role to an user in a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["grantRoleProjectUser"] = function(){
}
/**
* Check if a given user has a role in a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["checkRoleProjectUser"] = function(){
}
/**
* Delete a role for a given user in a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["revokeRoleProjectUser"] = function(){
}
/**
* List the roles of a group in a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["listRolesProjectGroup"] = function(){
}
/**
* Add a role to a group in a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["grantRoleProjectGroup"] = function(){
}
/**
* Check if a group has a given role in a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["checkRoleProjectGroup"] = function(){
}
/**
* Delete a role for a group in a project.
*
* @throws [Type] [<description>]
*
* @return void
*/
$projects["revokeRoleProjectGroup"] = function(){
}
$roles = array();
/**
* Add a role.
*
* @throws [Type] [<description>]
*
* @return void
*/
$roles["addRole"] = function(){
}
/**
* List the different roles
*
* @throws [Type] [<description>]
*
* @return void
*/
$roles["listRoles"] = function(){
}
/**
* @todo
*
* @throws [Type] [<description>]
*
* @return void
*/
$roles["listRoleAssignements"] = function(){
}
$services = array();
/**
* Add a service.
*
* @throws [Type] [<description>]
*
* @return void
*/
$services["addService"] = function(){
}
/**
* Retrieve the different services.
*
* @throws [Type] [<description>]
*
* @return void
*/
$services["listServices"] = function(){
}
/**
* Retrieve the details for a given service.
*
* @throws [Type] [<description>]
*
* @return void
*/
$services["showService"] = function(){
}
/**
* Delete a given service.
*
* @throws [Type] [<description>]
*
* @return void
*/
$services["deleteService"] = function(){
}
$tokens = array();
/**
* Generate a new token for a given user id.
*
* @throws [Type] [<description>]
*
* @return void
*/
$tokens["genTokenUserID"] = function(){
}
/**
* Generate a new token for a given user name.
*
* @throws [Type] [<description>]
*
* @return void
*/
$tokens["genTokenUserName"] = function(){
}
/**
* Generate a new token from another token ID.
*
* @throws [Type] [<description>]
*
* @return void
*/
$tokens["geneTokenID"] = function(){
}
/**
* Generate a new token scoped by a project ID.
*
* @throws [Type] [<description>]
*
* @return void
*/
$tokens["genTokenScopedProjectID"] = function(){
}
/**
* Generate a new token scoped by a project name.
*
* @throws [Type] [<description>]
*
* @return void
*/
$tokens["genTokenScopedProjectName"] = function(){
}
/**
* Check if a token is validate.
*
* @throws [Type] [<description>]
*
* @return void
*/
$tokens["validateToken"] = function(){
}
/**
* Delete a given token.
*
* @throws [Type] [<description>]
*
* @return void
*/
$tokens["revokeToken"] = function(){
}
$users = array();
/**
* Add a new user.
*
* @throws [Type] [<description>]
*
* @return void
*/
$users["addUser"] = function(){
}
/**
* Retrieve the different users.
*
* @throws [Type] [<description>]
*
* @return void
*/
$users["listUsers"] = function(){
}
/**
* Retrieve the details of a given user.
*
* @throws [Type] [<description>]
*
* @return void
*/
$users["showUser"] = function(){
}
/**
* Update a given user.
*
* @throws [Type] [<description>]
*
* @return void
*/
$users["updateUser"] = function(){
}
/**
* Delete a given user.
*
* @throws [Type] [<description>]
*
* @return void
*/
$users["deleteUser"] = function(){
}
/**
* Retrieve the groups which contains a given user.
*
* @throws [Type] [<description>]
*
* @return void
*/
$users["listUserGroups"] = function(){
}
/**
* Retrieve the projects which contains a given user.
*
* @throws [Type] [<description>]
*
* @return void
*/
$users["listUserProjects"] = function(){
}
$actions["Credentials"] = $credentials;
$actions["Domains"] = $domains;
$actions["Endpoints"] = $endpoints;
$actions["Groups"] = $groups;
$actions["Policies"] = $policies;
$actions["Projects"] = $projects;
$actions["Roles"] = $roles;
$actions["Services"] = $services;
$actions["Tokens"] = $tokens;
$actions["Users"] = $users;
}

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){

View file

@ -3,33 +3,29 @@
include_once("config.inc.php");
include_once("init.php");
// $task = $_POST["task"];
// $action = $_POST["action"];
//$id = new identity($openstack_api, $pluginApi);
// var_dump($id->genToken());
// $identity = $openstack_api->identityV3($Args);
//$tmp = $identity->listEndpoints();
//foreach($tmp as $cred){
// echo $cred->id." %%%%%% ";
//}
//$servers = $compute->listServers(true);
//var_dump($servers);
//foreach($servers as $server){
// echo $server->id." !!!!!!!!! ";
//}
$tmp = new genTokenOptions($Args);
$tmp->loadIdentityBackup($identityBack);
$array = $tmp->getOptions("Identity");
$openstackTest = new OpenStack\OpenStack([]);
$identityTest = $openstackTest->identityV3($array);
$domainsTest = $identityTest->listDomains();
foreach($domainsTest as $domain){
echo $domain->id." %%%%%% ";
if(isset($_POST["task"]) && isset($_POST["action"])){
$task = $_POST["task"];
$action = $_POST["action"];
}else if(isset($_POST["task"]) && $_POST["task"] == "Authenticate"){
$task = $_POST["task"];
}else{
//Gestion Erreur
}
if($task == "Authenticate"){
$App->authenticate();
$App->show();
}
switch($task)
{
case "identity":
include_once("core/Identity.php");
$identityObject = new identity($App);
$identityObject->action($action);
$App->show();
break;
}
// var_dump($openstack_api->getBuilderOptions());

View file

@ -1,13 +1,15 @@
<?php
include_once("config.inc.php");
include_once("core/Plugin_Api.php");
require "vendor/autoload.php";
include_once("core/LibOverride/genTokenOptions.php");
include_once("core/Identity.php");
include_once("core/App.php");
$user = "";
$password = "";
$project = "";
//traitement requete, recuperation data
if(isset($_POST["key"])){
//recuperation des donnes sauvegardes
if(isset($_POST["token"])){
$token = $_POST["token"];
}else if(isset($_POST["user"]) && isset($_POST["password"]) && isset($_POST["project"]) ){
@ -15,28 +17,14 @@
$password = $_POST["password"];
$project = $_POST["project"];
$Args = Array(
"user" => Array(
"name" => $user,
"password" => $password,
"domain" => Array(
"name" => "Default")
),
"scope" => Array(
"project" => Array(
"name" => $project,
"domain" => Array(
"name" => "Default")
)
),
"authUrl" => $config["urlAuth"]
);
} else {
} /*else { // Test Backend
$user = "admin";
$password = "ae5or6cn";
$project = "admin";
$Args = Array(
}*/
$Args = Array(
"user" => Array(
"name" => $user,
"password" => $password,
@ -52,21 +40,7 @@
),
"authUrl" => $config["urlAuth"]
);
}
$pluginApi = plugin_api::getInstance();
//$openstack_api = new OpenStack\OpenStack($Args);
//$id = new identity($openstack_api, $pluginApi);
//$token = $id->genToken();
$tmp = new genTokenOptions($Args);
$tmp->genIdentityToken();
$array = $tmp->getOptions("Identity");
$openstack_api = new OpenStack\OpenStack([]);
$identityBack = $tmp->getBackup("Identity");
//file_put_contents("token", serialize($tmp));
$App = new App($Args);
?>