Commit 3d1bf9ae authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Initial commit

parents
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+2 −0
Original line number Diff line number Diff line
.idea
./vendor/
 No newline at end of file

Module.php

0 → 100644
+59 −0
Original line number Diff line number Diff line
<?php

namespace UnicaenIdref;

use Laminas\Config\Factory as ConfigFactory;
use Laminas\Console\Adapter\AdapterInterface;
use Laminas\ModuleManager\Feature\ConsoleBannerProviderInterface;
use Laminas\ModuleManager\Feature\ConsoleUsageProviderInterface;
use Laminas\Mvc\ModuleRouteListener;
use Laminas\Mvc\MvcEvent;
use Laminas\Stdlib\Glob;

class Module implements ConsoleBannerProviderInterface, ConsoleUsageProviderInterface
{
    public function onBootstrap(MvcEvent $e)
    {
        $eventManager        = $e->getApplication()->getEventManager();
        $moduleRouteListener = new ModuleRouteListener();
        $moduleRouteListener->attach($eventManager);
    }

    public function getConfig()
    {
        $paths = array_merge(
            [__DIR__ . '/config/module.config.php'],
            Glob::glob(__DIR__ . '/config/others/{,*.}{config}.php', Glob::GLOB_BRACE)
        );

        return ConfigFactory::fromFiles($paths);
    }

    public function getAutoloaderConfig(): array
    {
        return array(
            'Laminas\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ),
            ),
        );
    }

    /**
     * @inheritDoc
     */
    public function getConsoleBanner(AdapterInterface $console): ?string
    {
        return "Module UnicaenIdref";
    }

    /**
     * @inheritDoc
     */
    public function getConsoleUsage(AdapterInterface $console)
    {
        return [
        ];
    }
}

composer.json

0 → 100644
+32 −0
Original line number Diff line number Diff line
{
    "name": "unicaen/id-ref",
    "description": "Module d'interrogation des autorités Sudoc (IDRef)",
    "type": "module",
    "repositories": [
        {
            "type": "composer",
            "url": "https://gest.unicaen.fr/packagist"
        }
    ],
    "require": {
        "laminas/laminas-dependency-plugin": "^2.1",
        "monolog/monolog": "^2.3"
    },
    "require-dev": {
        "unicaen/test": "^4.0",
        "phpunit/phpunit": "~5.4"
    },
    "autoload": {
        "psr-0": {
            "UnicaenIdref\\": "src/"
        },
        "classmap": [
            "./Module.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "UnicaenIdrefUnitTest\\": "test/UnicaenIdrefUnitTest"
        }
    }
}
+96 −0
Original line number Diff line number Diff line
<?php

namespace UnicaenIdref;

use UnicaenAuth\Guard\PrivilegeController;
use UnicaenIdref\Controller\IndexController;
use UnicaenIdref\Controller\IndexControllerFactory;
use UnicaenIdref\View\Helper\IdrefPopupTriggerViewHelper;
use UnicaenIdref\View\Helper\IdrefPopupTriggerViewHelperFactory;

return [
    'id_ref' => [

    ],
    'router' => [
        'routes' => [
            'unicaen-id-ref' => [
                'type' => 'Literal',
                'options' => [
                    'route' => '/unicaen-id-ref',
                    'defaults' => [
                        'controller' => IndexController::class,
                        'action' => 'index',
                    ],
                ],
                'may_terminate' => true,
            ],
        ],
    ],
    'bjyauthorize' => [
        'guards' => [
            '\UnicaenAuth\Guard\PrivilegeController' => [
                [
                    /**
                     * @see IndexController::indexAction()
                     */
                    'controller' => IndexController::class,
                    'action' => [
                        'index',
                    ],
                    'roles' => 'user',
                ],
            ],
        ],
    ],
    'controllers' => [
        'factories' => [
            IndexController::class => IndexControllerFactory::class,
        ],
    ],
    'service_manager' => [
        'factories' => [
        ]
    ],
    'view_helpers' => [
        'factories' => [
            IdrefPopupTriggerViewHelper::class => IdrefPopupTriggerViewHelperFactory::class,
        ],
        'aliases' => [
            'idrefPopupTrigger' => IdrefPopupTriggerViewHelper::class,
        ],
        'shared' => [
            IdrefPopupTriggerViewHelper::class => false,
        ]
    ],
    'view_manager' => [
        'template_path_stack' => [
            __DIR__ . '/../view',
        ],
    ],

    /**
     * NB: Lors d'un `composer install` fait par une appli requérant le module "unicaen/idref", le répertoire
     * `public/unicaen` de ce module doit être copié dans le répertoire "public/" de l'appli en question grâce
     * à la "post install command" suivante :
     *
     * "scripts": {
     *      "post-install-cmd": [
     *          "mkdir -p public/unicaen && cp -r vendor/unicaen/idref/public/unicaen public/"
     *      ]
     * }
     *
     * Les chemins ci-dessous sont donc relatifs au dossier racine de l'appli.
     */
    'public_files' => [
        'head_scripts' => [
            '099_unicaen-idref_1' => '/unicaen/idref/js/formulaire.js',
            '099_unicaen-idref_2' => '/unicaen/idref/js/subModal.js',
            '099_unicaen-idref_3' => '/unicaen/idref/js/trigger.js',
        ],
        'stylesheets' => [
            '099_unicaen-idref_1' => '/unicaen/idref/css/subModal.css',
            '099_unicaen-idref_2' => '/unicaen/idref/css/trigger.css',
        ],
    ],
];
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
<?php
return [
    'id_ref' => [

    ]
];
 No newline at end of file
Loading