Commit 89b0abc2 authored by Florian Joriot's avatar Florian Joriot
Browse files

Mise à jour du skeleton-application pour php8

parent 742da968
Loading
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -2609,16 +2609,16 @@
        },
        {
            "name": "laminas/laminas-i18n",
            "version": "2.21.0",
            "version": "2.22.0",
            "source": {
                "type": "git",
                "url": "https://github.com/laminas/laminas-i18n.git",
                "reference": "fbd2d0373aaced4769cba2bf3d1425d55f68abb1"
                "reference": "fc13d1314941bd9acda3861883cd9139d747f98f"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/laminas/laminas-i18n/zipball/fbd2d0373aaced4769cba2bf3d1425d55f68abb1",
                "reference": "fbd2d0373aaced4769cba2bf3d1425d55f68abb1",
                "url": "https://api.github.com/repos/laminas/laminas-i18n/zipball/fc13d1314941bd9acda3861883cd9139d747f98f",
                "reference": "fc13d1314941bd9acda3861883cd9139d747f98f",
                "shasum": ""
            },
            "require": {
@@ -2636,7 +2636,7 @@
                "laminas/laminas-cache": "^3.8",
                "laminas/laminas-cache-storage-adapter-memory": "^2.2.0",
                "laminas/laminas-cache-storage-deprecated-factory": "^1.0.1",
                "laminas/laminas-coding-standard": "~2.4.0",
                "laminas/laminas-coding-standard": "~2.5.0",
                "laminas/laminas-config": "^3.8.0",
                "laminas/laminas-eventmanager": "^3.7",
                "laminas/laminas-filter": "^2.28.1",
@@ -2691,7 +2691,7 @@
                    "type": "community_bridge"
                }
            ],
            "time": "2022-12-02T17:15:52+00:00"
            "time": "2023-03-12T01:03:50+00:00"
        },
        {
            "name": "laminas/laminas-i18n-resources",
@@ -6590,11 +6590,11 @@
        },
        {
            "name": "unicaen/app",
            "version": "6.0.3",
            "version": "6.0.5",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/app.git",
                "reference": "9563e774c02746b7267d0216eea957562bddd7c5"
                "reference": "a85de98e91ea41bf97eb0fdb9359f4942e9fe96d"
            },
            "require": {
                "beberlei/assert": "^3.3",
@@ -6650,15 +6650,15 @@
                ]
            },
            "description": "Module de base des applications unicaen",
            "time": "2023-02-28T14:01:30+00:00"
            "time": "2023-03-21T14:44:06+00:00"
        },
        {
            "name": "unicaen/authentification",
            "version": "6.0.1",
            "version": "6.0.3",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/authentification.git",
                "reference": "6c2e56cd85b465f553e9cffbb59132de6303995f"
                "reference": "8fecd370043a0364a54f867abed4839b476aa12f"
            },
            "require": {
                "jasig/phpcas": "1.5.*",
@@ -6680,7 +6680,7 @@
                ]
            },
            "description": "Module d'authentification pour les applications Unicaen - Version Laminas",
            "time": "2023-02-21T16:08:28+00:00"
            "time": "2023-03-21T08:19:01+00:00"
        },
        {
            "name": "unicaen/bjy-authorize",
@@ -6838,7 +6838,7 @@
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/mail.git",
                "reference": "1002f28be6a57377a5f924bd277d3059cc29ba52"
                "reference": "bee0f5d6ad8376a12f0167ac5baea9979d39530a"
            },
            "require": {
                "laminas/laminas-dependency-plugin": "^2.2",
@@ -6853,15 +6853,15 @@
                ]
            },
            "description": "Module d'envoi de mail",
            "time": "2023-03-20T08:58:49+00:00"
            "time": "2023-03-20T11:19:54+00:00"
        },
        {
            "name": "unicaen/privilege",
            "version": "6.0.0",
            "version": "6.0.2",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/privilege.git",
                "reference": "0176388bd7e1b2aad0f9a30e633195c3b03e5396"
                "reference": "3e2edb37b46f010cab3974290a949583dc8328aa"
            },
            "require": {
                "laminas/laminas-dependency-plugin": "^2.1",
@@ -6880,15 +6880,15 @@
                ]
            },
            "description": "Module reprenant la gestion des privileges  - Version laminas",
            "time": "2023-03-16T14:13:55+00:00"
            "time": "2023-03-21T13:25:18+00:00"
        },
        {
            "name": "unicaen/utilisateur",
            "version": "6.0.3",
            "version": "6.0.5",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/utilisateur.git",
                "reference": "8163829d052a30aaa536328fce46638caca67b33"
                "reference": "bc91104943b290e8c39f805b61c02e10b73d2b0e"
            },
            "require": {
                "laminas/laminas-dependency-plugin": "^2.1",
@@ -6912,7 +6912,7 @@
                ]
            },
            "description": "Module reprenant la gestion des utilisateurs, privileges et roles - Version laminas",
            "time": "2023-03-20T08:51:39+00:00"
            "time": "2023-03-21T13:45:19+00:00"
        },
        {
            "name": "unicaen/zfc-user",

docker/db/1-schema.sql

deleted100644 → 0
+0 −66
Original line number Diff line number Diff line
CREATE TABLE "user" (
                        id BIGSERIAL PRIMARY KEY,
                        username VARCHAR(255) DEFAULT NULL,
                        email VARCHAR(255) DEFAULT NULL,
                        display_name VARCHAR(64) DEFAULT NULL,
                        password VARCHAR(128) NOT NULL,
                        state SMALLINT default 1,
                        last_role_id SMALLINT
) ;
CREATE UNIQUE INDEX user_username_unique ON "user" (username);

alter table "user" add PASSWORD_RESET_TOKEN varchar(256) default null;

create unique index USER_PASSWORD_RESET_TOKEN_UN on "user" (PASSWORD_RESET_TOKEN);

CREATE TABLE user_role (
                           id BIGSERIAL PRIMARY KEY,
                           role_id VARCHAR(64) NOT NULL,
                           is_default SMALLINT NOT NULL DEFAULT 0,
                           parent_id BIGINT DEFAULT NULL,
                           ldap_filter varchar(255) DEFAULT NULL,
                           accessible_exterieur BOOLEAN NOT NULL DEFAULT true,
                           FOREIGN KEY (parent_id) REFERENCES user_role (id) ON DELETE SET NULL
);
CREATE UNIQUE INDEX user_role_roleid_unique ON user_role (role_id);


CREATE TABLE user_role_linker (
                                  user_id BIGINT NOT NULL,
                                  role_id BIGINT NOT NULL,
                                  PRIMARY KEY (user_id, role_id),
                                  FOREIGN KEY (user_id) REFERENCES "user" (id) ON DELETE CASCADE,
                                  FOREIGN KEY (role_id) REFERENCES user_role (id) ON DELETE CASCADE
);
CREATE UNIQUE INDEX user_role_linker_unique ON user_role_linker (user_id, role_id);




CREATE TABLE  IF NOT EXISTS categorie_privilege (
  id      BIGSERIAL PRIMARY KEY,
  code    VARCHAR(150) NOT NULL,
  libelle VARCHAR(200) NOT NULL,
  ordre   INT
);
CREATE UNIQUE INDEX categorie_privilege_unique ON categorie_privilege (code);


CREATE TABLE IF NOT EXISTS privilege (
  id            BIGSERIAL PRIMARY KEY,
  categorie_id  BIGINT NOT NULL,
  code          VARCHAR(150) NOT NULL,
  libelle       VARCHAR(200) NOT NULL,
  ordre         INT,
  FOREIGN KEY (categorie_id) REFERENCES categorie_privilege (id) ON DELETE CASCADE
);
CREATE UNIQUE INDEX privilege_unique ON privilege (code);

CREATE TABLE IF NOT EXISTS role_privilege (
  role_id       BIGINT NOT NULL,
  privilege_id  BIGINT NOT NULL,
  PRIMARY KEY (role_id, privilege_id),
  FOREIGN KEY (role_id) REFERENCES user_role (id) ON DELETE CASCADE,
  FOREIGN KEY (privilege_id) REFERENCES privilege (id) ON DELETE CASCADE
);
CREATE UNIQUE INDEX role_privilege_unique ON role_privilege (role_id, privilege_id);

docker/db/2-data.sql

deleted100644 → 0
+0 −30
Original line number Diff line number Diff line

-- Données

INSERT INTO user_role (id, role_id, is_default, parent_id) VALUES
(1, 'Standard', 1, NULL),
(2, 'Gestionnaire', 0, 1),
(3, 'Super-gestionnaire', 0, 2),
(4, 'Administrateur', 0, 3);

INSERT INTO categorie_privilege (id, code, libelle, ordre) VALUES
(1, 'droit', 'Gestion des droits', 1);

INSERT INTO privilege (id, categorie_id, code, libelle, ordre) VALUES
(1, 1, 'role-visualisation', 'Rôles - Visualisation', 1),
(2, 1, 'role-edition', 'Rôles - Édition', 2),
(3, 1, 'privilege-visualisation', 'Privilèges - Visualisation', 3),
(4, 1, 'privilege-edition', 'Privilèges - Édition', 4);

INSERT INTO role_privilege (role_id, privilege_id) VALUES
(4, 1),
(4, 2),
(4, 3),
(4, 4);

INSERT INTO "user" (username, email, display_name, password, state) VALUES
    -- utilisateur demo/azerty
    ('demo', 'demo@mail.fr', 'Demo Crite', '$2y$10$PxXnVLYnGEzEnfqPqRKJSe9AabocES2H4bBK5VzzJlzuj1rVt7Lwu', 1);

INSERT INTO user_role_linker(user_id, role_id)
SELECT u.id, r.id FROM "user" u, user_role r WHERE u.username = 'demo' and r.role_id = 'Standard';
+11 −1
Original line number Diff line number Diff line
@@ -5,7 +5,10 @@ namespace Application;
use Laminas\Mvc\ModuleRouteListener;
use Laminas\Mvc\MvcEvent;
use Laminas\Http\Request as HttpRequest;
use Laminas\Config\Factory as ConfigFactory;
use Laminas\Session\SessionManager;
use Laminas\Stdlib\ArrayUtils;
use Laminas\Stdlib\Glob;

class Module
{
@@ -35,7 +38,14 @@ class Module

    public function getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
        $configInit = [
            __DIR__ . '/config/module.config.php'
        ];
        $configFiles = ArrayUtils::merge(
            $configInit,
            Glob::glob(__DIR__ . '/config/merged/{,*.}{config}.php', Glob::GLOB_BRACE)
        );
        return ConfigFactory::fromFiles($configFiles);
    }

    public function getAutoloaderConfig()
+36 −0
Original line number Diff line number Diff line
<?php

namespace Application;

use UnicaenPrivilege\Guard\PrivilegeController;

return [
    'bjyauthorize' => [
        'guards' => [
            PrivilegeController::class => [
            ],
        ],
    ],

    'router'          => [
        'routes' => [
        ],
    ],

    'service_manager' => [
        'factories' => [],
    ],
    'controllers'     => [
        'factories' => [],
    ],
    'form_elements' => [
        'factories' => [],
    ],
    'hydrators' => [
        'factories' => [],
    ],
    'view_helpers' => [
        'invokables' => [],
    ],

];
 No newline at end of file
Loading