Merge branch 'develop' into Evan
mise a jour
This commit is contained in:
commit
f1585a1332
16 changed files with 1215 additions and 192 deletions
|
@ -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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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';
|
||||
|
||||
}]);
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
/*
|
||||
* home Controller
|
||||
/**
|
||||
* The home controller
|
||||
*
|
||||
* @param {$scope} $scope The $scope service from angular
|
||||
*/
|
||||
|
||||
|
||||
|
||||
mainApp.controller('homeCtrl', function ($scope)
|
||||
{
|
||||
|
||||
|
|
|
@ -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();
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
})
|
||||
}]);
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
/*
|
||||
* network Controller
|
||||
/**
|
||||
* The network controller
|
||||
*
|
||||
* @param {$scope} $scope The $scope service from angular
|
||||
*/
|
||||
|
||||
|
||||
|
||||
mainApp.controller('networkCtrl', function ($scope)
|
||||
{
|
||||
});
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
});
|
||||
}]);
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
13
client/js/services/sharedProfile.js
Normal file
13
client/js/services/sharedProfile.js
Normal 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;
|
||||
}]);
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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
68
server/core/App.php
Executable 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
7
server/core/CoreInterface.php
Executable file
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
interface Core{
|
||||
|
||||
public function action($action);
|
||||
|
||||
}
|
944
server/core/Identity.php
Normal file → Executable file
944
server/core/Identity.php
Normal file → Executable 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 user’s access/secret pair by the access key.
|
||||
*
|
||||
* @throws [Type] [<description>]
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
$credentials["showCredential"] = function(){
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a user’s access/secret pair.
|
||||
*
|
||||
* @throws [Type] [<description>]
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
$credentials["updateCredential"] = function(){
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a user’s 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;
|
||||
}
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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());
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
?>
|
||||
|
|
Loading…
Add table
Reference in a new issue