premice inscription + refonte autoload et ajout de la librairie PDO

pull/35/head
Leo Tuaillon 1 year ago
parent 68bdbc2afe
commit ca79f102cf

@ -1,12 +1,11 @@
{ {
"require": { "require": {
"twig/twig": "^3.0" "twig/twig": "^3.0",
"ext-pdo": "*"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"controleur\\": "controleur/", "App\\": "src/"
"config\\": "config/",
"modeles\\": "modeles/"
} }
} }
} }

6
php/composer.lock generated

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "6a6772df2521c6860a448e9115f2793a", "content-hash": "e4bbfb6f07dd88c6288177f48b9cb54c",
"packages": [ "packages": [
{ {
"name": "symfony/polyfill-ctype", "name": "symfony/polyfill-ctype",
@ -249,7 +249,9 @@
"stability-flags": [], "stability-flags": [],
"prefer-stable": false, "prefer-stable": false,
"prefer-lowest": false, "prefer-lowest": false,
"platform": [], "platform": {
"ext-pdo": "*"
},
"platform-dev": [], "platform-dev": [],
"plugin-api-version": "2.6.0" "plugin-api-version": "2.6.0"
} }

@ -1,61 +0,0 @@
<?php
namespace controleur;
use config\Validation;
class UtilisateurControleur
{
public function __construct()
{
global $twig;
if (!isset($_REQUEST["action"])) {
$action = NULL;
} else {
$action = Validation::nettoyerString($_REQUEST["action"]);
}
switch ($action) {
case NULL:
case "accueil":
$this->accueil();
break;
case "connection":
$this->connection();
break;
case "inscription":
$this->inscription();
break;
case "consulterProfilLimite":
$this->consulterProfilLimite();
break;
default:
$dVueErreur[] ="Action inconnue ou non autorisée";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
}
protected function connection()
{
global $twig;
echo $twig->render('connexion.html', []);
}
protected function inscription()
{
global $twig;
echo $twig->render('inscription.html', []);
}
protected function accueil()
{
global $twig;
echo $twig->render('accueil.html', []);
}
protected function consulterProfilLimite()
{
//TODO
}
}

@ -2,9 +2,9 @@
/** PC IUT - PHP 8.1 */ /** PC IUT - PHP 8.1 */
/** Chargement config */ /** Chargement config */
require_once __DIR__ . '/config/config.php'; require_once __DIR__ . '/src/config/config.php';
require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/vendor/autoload.php';
use controleur\FrontControleur;
/** Configuration twig */ /** Configuration twig */
$loader = new \Twig\Loader\FilesystemLoader('vues'); $loader = new \Twig\Loader\FilesystemLoader('vues');
@ -13,4 +13,4 @@ $twig = new \Twig\Environment($loader, [
'debug' => true 'debug' => true
]); ]);
$cont = new \controleur\FrontControleur(); $cont = new App\controleur\FrontControleur();

@ -1,41 +0,0 @@
<?php
namespace modeles;
class UtilisateurModele
{
/**
* @description Charger le flux d'activiter
* @return array flux
*/
public function LoadFeed() : array
{
// TO DO
return [];
}
/**
* @description se connecter
* @param string email
* @param string hash
* @return \Alumni
*/
public function Login(string $email,string $hash) : \Alumni
{
// TO DO
return new \Alumni(null,null,null);
}
/**
* @description s'inscrire
* @param string email
* @param string hash
* @param string $pseudo
* @return \Alumni chargé
*/
public function signIn(string $email,string $pseudo,string $hash) : \Alumni
{
// TO DO
return new Compte(null,null,null);
}
}

@ -1,5 +1,5 @@
<?php <?php
namespace config; namespace App\config;
class Validation class Validation
{ {

@ -1,7 +1,7 @@
<?php <?php
namespace App\config;
//gen //gen
$rep = __DIR__ . '/../'; $rep = __DIR__ . '/php/';
// liste des modules à inclure // liste des modules à inclure
$dConfig['includes']= array('controleur/Validation.php'); $dConfig['includes']= array('controleur/Validation.php');

@ -1,8 +1,6 @@
<?php <?php
namespace controleur; namespace App\controleur;
use config\Validation;
class AdminControleur extends ModerateurControleur class AdminControleur extends ModerateurControleur
{ {
@ -12,7 +10,7 @@ class AdminControleur extends ModerateurControleur
if (!isset($_REQUEST["action"])) { if (!isset($_REQUEST["action"])) {
$action = NULL; $action = NULL;
} else { } else {
$action = Validation::nettoyerString($_REQUEST["action"]); $action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
} }
switch ($action) { switch ($action) {
case "supprimerCompte": case "supprimerCompte":

@ -1,7 +1,5 @@
<?php <?php
namespace controleur; namespace App\controleur;
use config\Validation;
class FrontControleur class FrontControleur
{ {
@ -25,7 +23,7 @@ class FrontControleur
] ]
); );
$action = Validation::nettoyerString($_GET["action"] ?? ""); $action = \App\config\Validation::nettoyerString($_GET["action"] ?? "");
if(in_array($action,$actions['Admin'])) { if(in_array($action,$actions['Admin'])) {
if (!isset($_SESSION["role"]) || $_SESSION["role"]!="admin") { if (!isset($_SESSION["role"]) || $_SESSION["role"]!="admin") {
$dVueErreur[] = 'Veuillez vous connecter'; $dVueErreur[] = 'Veuillez vous connecter';

@ -1,9 +1,6 @@
<?php <?php
namespace controleur; namespace App\controleur;
use config\Validation;
class MembreControleur extends UtilisateurControleur class MembreControleur extends UtilisateurControleur
{ {
public function __construct() public function __construct()
@ -12,7 +9,7 @@ class MembreControleur extends UtilisateurControleur
if (!isset($_REQUEST["action"])) { if (!isset($_REQUEST["action"])) {
$action = NULL; $action = NULL;
} else { } else {
$action = Validation::nettoyerString($_REQUEST["action"]); $action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
} }
switch ($action) { switch ($action) {
case "deconnexion": case "deconnexion":

@ -1,8 +1,7 @@
<?php <?php
namespace controleur; namespace App\controleur;
use config\Validation;
class ModerateurControleur extends MembreControleur class ModerateurControleur extends MembreControleur
{ {
@ -12,7 +11,7 @@ class ModerateurControleur extends MembreControleur
if (!isset($_REQUEST["action"])) { if (!isset($_REQUEST["action"])) {
$action = NULL; $action = NULL;
} else { } else {
$action = Validation::nettoyerString($_REQUEST["action"]); $action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
} }
switch ($action) { switch ($action) {
default: default:

@ -0,0 +1,87 @@
<?php
namespace App\controleur;
class UtilisateurControleur
{
public function __construct()
{
global $twig;
if (!isset($_REQUEST["action"])) {
$action = NULL;
} else {
$action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
}
switch ($action) {
case NULL:
case "accueil":
$this->accueil();
break;
case "connection":
$this->connection();
break;
case "inscription":
$this->inscription();
break;
case "consulterProfilLimite":
$this->consulterProfilLimite();
break;
default:
$dVueErreur[] ="Action inconnue ou non autorisée";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
}
protected function connection()
{
global $twig;
echo $twig->render('connexion.html', []);
}
protected function inscription()
{
global $twig;
$dVueErreur = []; // Tableau pour stocker les erreurs, le cas échéant
if (isset($_POST['email'], $_POST['username'], $_POST['password'])) {
$email = \App\config\Validation::nettoyerString($_POST['email']);
$motDePasse = \App\config\Validation::nettoyerString($_POST['password']);
// Validez les données d'inscription, par exemple, vérifiez si l'email est unique
// Vous pouvez également effectuer d'autres validations nécessaires
$userModel = new \App\models\UtilisateurModele();
$nouvelUtilisateur = $userModel->inscription($email, $motDePasse);
// Si l'inscription a réussi, redirigez l'utilisateur vers une page de confirmation
// Vous pouvez également gérer les erreurs ici en cas d'échec de l'inscription
if ($nouvelUtilisateur instanceof \App\metier\Alumni) {
// L'inscription a réussi, redirigez l'utilisateur vers une page de confirmation
// par exemple :
header('Location: index.php?action=inscription_success');
exit();
} else {
// L'inscription a échoué, ajoutez un message d'erreur
$dVueErreur[] = "L'inscription a échoué, veuillez réessayer.";
}
}
// Affichez le formulaire d'inscription ou les erreurs le cas échéant
echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]);
}
protected function accueil()
{
global $twig;
echo $twig->render('accueil.html', []);
}
protected function consulterProfilLimite()
{
//TODO
}
}

@ -1,6 +1,7 @@
<?php <?php
namespace App\dal;
class Connection extends PDO { use PDO;
class Connection extends \PDO {
/** /**
* @var Statement * @var Statement

@ -1,20 +1,20 @@
<?php <?php
namespace App\dal\gateway;
use PDO;
class AlumniGateway class AlumniGateway
{ {
private Connection $con; private \App\dal\Connection $con;
/** /**
* @param $con * @param $con
*/ */
public function __construct(Connection $con){ public function __construct(\App\dal\Connection $con){
$this->con = $con; $this->con = $con;
} }
public function insert(string $email, int $id, string $motDePasse, Role $role){ public function insert(string $email, string $motDePasse, string $role){
$query='INSERT INTO Alumni VALUES (:i, :e, :m, :r)'; $query='INSERT INTO Alumni VALUES (:e, :m, :r)';
$this->con->executeQuery($query, array( return $this->con->executeQuery($query, array(
':i' => array($id, PDO::PARAM_INT),
':e' => array($email, PDO::PARAM_STR), ':e' => array($email, PDO::PARAM_STR),
':m' => array($motDePasse, PDO::PARAM_STR), ':m' => array($motDePasse, PDO::PARAM_STR),
':r' => array($role, PDO::PARAM_STR) ':r' => array($role, PDO::PARAM_STR)

@ -1,13 +1,13 @@
<?php <?php
namespace App\dal\gateway;
class EvenementGateway class EvenementGateway
{ {
private Connection $con; private \App\dal\Connection $con;
/** /**
* @param $con * @param $con
*/ */
public function __construct(Connection $con){ public function __construct(\App\dal\Connection $con){
$this->con = $con; $this->con = $con;
} }

@ -1,13 +1,13 @@
<?php <?php
namespace App\dal\gateway;
class OffreGateway class OffreGateway
{ {
private Connection $con; private \App\dal\Connection $con;
/** /**
* @param $con * @param $con
*/ */
public function __construct(Connection $con){ public function __construct(\App\dal\Connection $con){
$this->con = $con; $this->con = $con;
} }

@ -1,19 +1,8 @@
<?php <?php
enum Role namespace App\metier;
{
case Admin;
case Moderateur;
case Utilisateur;
}
class Alumni{ class Alumni{
/**
* @var int Identifiant
*/
private int $id;
/** /**
* @var string Email * @var string Email
*/ */
@ -25,32 +14,22 @@ class Alumni{
private string $motDePasse; private string $motDePasse;
/** /**
* @var Role Role * @var String Role
*/ */
private Role $role; private String $role;
/** /**
* @param int $id
* @param string $email * @param string $email
* @param string $motDePasse * @param string $motDePasse
* @param Role $role * @param String $role
*/ */
public function __construct(int $id, string $email, string $motDePasse, Role $role) public function __construct(string $email, string $motDePasse, String $role)
{ {
$this->id = $id;
$this->email = $email; $this->email = $email;
$this->motDePasse = $motDePasse; $this->motDePasse = $motDePasse;
$this->role = $role; $this->role = $role;
} }
/**
* @return string
*/
public function getId() : string
{
return $this->id;
}
/** /**
* @return string * @return string
*/ */
@ -67,7 +46,7 @@ class Alumni{
return $this->motDePasse; return $this->motDePasse;
} }
public function getRole(): Role public function getRole(): String
{ {
return $this->role; return $this->role;
} }

@ -1,5 +1,5 @@
<?php <?php
namespace App\metier;
class Article class Article
{ {
/** /**

@ -1,5 +1,5 @@
<?php <?php
namespace App\metier;
class Evenement class Evenement
{ {
/** /**

@ -1,5 +1,5 @@
<?php <?php
namespace App\metier;
class Experience class Experience
{ {
/** /**

@ -1,5 +1,5 @@
<?php <?php
namespace App\metier;
class Formation class Formation
{ {
/** /**

@ -1,5 +1,5 @@
<?php <?php
namespace App\metier;
enum TypeContrat enum TypeContrat
{ {
case CDI; case CDI;

@ -1,4 +1,5 @@
<?php <?php
namespace App\metier;
class Profil class Profil
{ {
/** /**

@ -0,0 +1,8 @@
<?php
namespace App\metier;
enum Role
{
case Admin;
case Moderateur;
case Utilisateur;
}

@ -1,14 +1,17 @@
<?php <?php
namespace modeles; namespace App\models;
use App\metier\Alumni;
use App\metier\Offre;
class AdminModele extends MembreModele class AdminModele extends MembreModele
{ {
/** /**
* @description supprimer un compte * @description supprimer un compte
* @param \Alumni $account compte à supprimer * @param Alumni $account compte à supprimer
*/ */
public function deleteAccount(\Alumni $account) public function deleteAccount(\App\metier\Alumni $account)
{ {
// TO DO // TO DO
} }
@ -25,9 +28,9 @@ class AdminModele extends MembreModele
/** /**
* @description supprimer une offre spécifique * @description supprimer une offre spécifique
* @param \Offre $offer offre à supprimer * @param Offre $offer offre à supprimer
*/ */
public function deleteOffer(\Offre $offer) public function deleteOffer(Offre $offer)
{ {
// TO DO // TO DO
} }

@ -1,6 +1,6 @@
<?php <?php
namespace modeles; namespace App\models;
class MembreModele extends UtilisateurModele class MembreModele extends UtilisateurModele
{ {

@ -1,6 +1,6 @@
<?php <?php
namespace modeles; namespace App\models;
class ModerateurControleur class ModerateurControleur
{ {

@ -0,0 +1,53 @@
<?php
namespace App\models;
class UtilisateurModele
{
/**
* @description Charger le flux d'activiter
* @return array flux
*/
public function LoadFeed() : array
{
// TO DO
return [];
}
/**
* @description se connecter
* @param string email
* @param string hash
* @return \App\metier\Alumni
*/
public function Login(string $email,string $hash) : \App\metier\Alumni
{
// TO DO
return new \App\metier\Alumni(null,null,null);
}
/**
* @description s'inscrire
* @param string email
* @param string hash
* @param string $pseudo
* @return \Alumni chargé
*/
public function inscription(string $email, string $hashpassword): \App\metier\Alumni
{
$dsn = "mysql:host=localhost;dbname=dbAlumni";
$username = "root";
$password = "";
$role = "Utilisateur";
$con = new \App\dal\Connection($dsn, $username, $password);
$gate = new \App\dal\gateway\AlumniGateway($con);
// Insérez le nouvel utilisateur dans la base de données en utilisant AlumniGateway
if ($gate->insert($email, $hashpassword, $role)) {
// L'insertion a réussi, retournez le nouvel utilisateur
$nouvelUtilisateur = new \App\metier\Alumni($email, $hashpassword, $role);
return $nouvelUtilisateur;
} else {
// L'insertion a échoué, renvoyez un utilisateur vide pour indiquer l'échec
return new \App\metier\Alumni(null, null, null);
}
}
}

BIN
php/vendor/.DS_Store vendored

Binary file not shown.

@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php'; require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInita6287a55fe354aae4af95d1e4395c915::getLoader(); return ComposerAutoloaderInite4bbfb6f07dd88c6288177f48b9cb54c::getLoader();

@ -6,10 +6,8 @@ $vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir); $baseDir = dirname($vendorDir);
return array( return array(
'modeles\\' => array($baseDir . '/modeles'),
'controleur\\' => array($baseDir . '/controleur'),
'config\\' => array($baseDir . '/config'),
'Twig\\' => array($vendorDir . '/twig/twig/src'), 'Twig\\' => array($vendorDir . '/twig/twig/src'),
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
'App\\' => array($baseDir . '/src'),
); );

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer // autoload_real.php @generated by Composer
class ComposerAutoloaderInita6287a55fe354aae4af95d1e4395c915 class ComposerAutoloaderInite4bbfb6f07dd88c6288177f48b9cb54c
{ {
private static $loader; private static $loader;
@ -24,16 +24,16 @@ class ComposerAutoloaderInita6287a55fe354aae4af95d1e4395c915
require __DIR__ . '/platform_check.php'; require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInita6287a55fe354aae4af95d1e4395c915', 'loadClassLoader'), true, true); spl_autoload_register(array('ComposerAutoloaderInite4bbfb6f07dd88c6288177f48b9cb54c', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInita6287a55fe354aae4af95d1e4395c915', 'loadClassLoader')); spl_autoload_unregister(array('ComposerAutoloaderInite4bbfb6f07dd88c6288177f48b9cb54c', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php'; require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInita6287a55fe354aae4af95d1e4395c915::getInitializer($loader)); call_user_func(\Composer\Autoload\ComposerStaticInite4bbfb6f07dd88c6288177f48b9cb54c::getInitializer($loader));
$loader->register(true); $loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInita6287a55fe354aae4af95d1e4395c915::$files; $filesToLoad = \Composer\Autoload\ComposerStaticInite4bbfb6f07dd88c6288177f48b9cb54c::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) { $requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

@ -4,7 +4,7 @@
namespace Composer\Autoload; namespace Composer\Autoload;
class ComposerStaticInita6287a55fe354aae4af95d1e4395c915 class ComposerStaticInite4bbfb6f07dd88c6288177f48b9cb54c
{ {
public static $files = array ( public static $files = array (
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
@ -12,15 +12,6 @@ class ComposerStaticInita6287a55fe354aae4af95d1e4395c915
); );
public static $prefixLengthsPsr4 = array ( public static $prefixLengthsPsr4 = array (
'm' =>
array (
'modeles\\' => 8,
),
'c' =>
array (
'controleur\\' => 11,
'config\\' => 7,
),
'T' => 'T' =>
array ( array (
'Twig\\' => 5, 'Twig\\' => 5,
@ -30,21 +21,13 @@ class ComposerStaticInita6287a55fe354aae4af95d1e4395c915
'Symfony\\Polyfill\\Mbstring\\' => 26, 'Symfony\\Polyfill\\Mbstring\\' => 26,
'Symfony\\Polyfill\\Ctype\\' => 23, 'Symfony\\Polyfill\\Ctype\\' => 23,
), ),
'A' =>
array (
'App\\' => 4,
),
); );
public static $prefixDirsPsr4 = array ( public static $prefixDirsPsr4 = array (
'modeles\\' =>
array (
0 => __DIR__ . '/../..' . '/modeles',
),
'controleur\\' =>
array (
0 => __DIR__ . '/../..' . '/controleur',
),
'config\\' =>
array (
0 => __DIR__ . '/../..' . '/config',
),
'Twig\\' => 'Twig\\' =>
array ( array (
0 => __DIR__ . '/..' . '/twig/twig/src', 0 => __DIR__ . '/..' . '/twig/twig/src',
@ -57,6 +40,10 @@ class ComposerStaticInita6287a55fe354aae4af95d1e4395c915
array ( array (
0 => __DIR__ . '/..' . '/symfony/polyfill-ctype', 0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
), ),
'App\\' =>
array (
0 => __DIR__ . '/../..' . '/src',
),
); );
public static $classMap = array ( public static $classMap = array (
@ -66,9 +53,9 @@ class ComposerStaticInita6287a55fe354aae4af95d1e4395c915
public static function getInitializer(ClassLoader $loader) public static function getInitializer(ClassLoader $loader)
{ {
return \Closure::bind(function () use ($loader) { return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInita6287a55fe354aae4af95d1e4395c915::$prefixLengthsPsr4; $loader->prefixLengthsPsr4 = ComposerStaticInite4bbfb6f07dd88c6288177f48b9cb54c::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInita6287a55fe354aae4af95d1e4395c915::$prefixDirsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInite4bbfb6f07dd88c6288177f48b9cb54c::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInita6287a55fe354aae4af95d1e4395c915::$classMap; $loader->classMap = ComposerStaticInite4bbfb6f07dd88c6288177f48b9cb54c::$classMap;
}, null, ClassLoader::class); }, null, ClassLoader::class);
} }

@ -1,9 +1,9 @@
<?php return array( <?php return array(
'root' => array( 'root' => array(
'name' => '__root__', 'name' => '__root__',
'pretty_version' => '1.0.0+no-version-set', 'pretty_version' => 'dev-master',
'version' => '1.0.0.0', 'version' => 'dev-master',
'reference' => NULL, 'reference' => '68bdbc2afe49996b3ceec196c42f5e25b3edec96',
'type' => 'library', 'type' => 'library',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
'aliases' => array(), 'aliases' => array(),
@ -11,9 +11,9 @@
), ),
'versions' => array( 'versions' => array(
'__root__' => array( '__root__' => array(
'pretty_version' => '1.0.0+no-version-set', 'pretty_version' => 'dev-master',
'version' => '1.0.0.0', 'version' => 'dev-master',
'reference' => NULL, 'reference' => '68bdbc2afe49996b3ceec196c42f5e25b3edec96',
'type' => 'library', 'type' => 'library',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
'aliases' => array(), 'aliases' => array(),

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save