Commit f7ac9e89 authored by David Surville's avatar David Surville
Browse files

Merge branch 'master' of https://git.unicaen.fr/lib/unicaen/app

parents ec6ee013 4ed32cd7
Loading
Loading
Loading
Loading
Loading
+8 −0
Changes for CHANGELOG.md: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
CHANGELOG
=========

3.1.15
------
- Refactoring de HostLocalizationUnicaen pour éviter d'avoir les adresses des proxies et reverse proxies en dur dans le code. Passage en fichier de config pour que chacun puisse configurer dans son application.
- Aide de vue FormControlGroup : utilisation des aides de vue ZF standards pour les éléments de formulaire ZF Date et Time
- Support des fonctions Doctrine compriseEntre() et pasHistorise()
- [FIX] Modification du répertoire de cache de mPDF car tentatives de supprimer les vieux fichiers ne lui appartenant pas
- [FIX] Correction de Util::truncatedString boguée

3.1.14
------
- Nouvelle ligne de commande 'run-sql-query' pour exécuter une requête SQL.
+17 −7
Changes for config/module.config.php: 17 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -6,10 +6,12 @@ use UnicaenApp\Controller\CacheControllerFactory;
use UnicaenApp\Controller\InstadiaControllerFactory;
use UnicaenApp\Form\View\Helper\FormControlGroup;
use UnicaenApp\Form\View\Helper\FormControlGroupFactory;
use UnicaenApp\HostLocalization\HostLocalizationUnicaen;
use UnicaenApp\HostLocalization\HostLocalizationUnicaenFactory;
use UnicaenApp\HostLocalization\HostLocalization;
use UnicaenApp\HostLocalization\HostLocalizationFactory;
use UnicaenApp\Message\View\Helper\MessageHelper;
use UnicaenApp\Message\View\Helper\MessageHelperFactory;
use UnicaenApp\ORM\Query\Functions\CompriseEntre;
use UnicaenApp\ORM\Query\Functions\PasHistorise;
use UnicaenApp\Service\InstadiaServiceFactory;
use UnicaenApp\Service\Mailer\MailerService;
use UnicaenApp\Service\Mailer\MailerServiceFactory;
@@ -276,7 +278,7 @@ return [
        'view_manager' => [
            'display_not_found_reason' => true,
            'display_exceptions'       => true,
        ]
        ],
    ],
    'service_manager' => [
        'factories'          => [
@@ -326,7 +328,7 @@ return [
            MailerService::class    => MailerServiceFactory::class,
            RunSQLService::class    => RunSQLServiceFactory::class,
            'instadia'              => InstadiaServiceFactory::class,
            HostLocalizationUnicaen::class => HostLocalizationUnicaenFactory::class,
            HostLocalization::class => HostLocalizationFactory::class,
        ],
        'shared'             => [
            'MouchardListenerErrorHandler' => false,
@@ -349,8 +351,8 @@ return [
        ],
        'aliases'            => [
            'MailerService'    => MailerService::class,
            'HostLocalization'  => HostLocalizationUnicaen::class,
        ]
            'HostLocalization' => HostLocalization::class,
        ],
    ],
    'form_elements'   => [
        'invokables'   => [
@@ -458,7 +460,7 @@ return [
            'UnicaenApp\Controller\Cache'    => CacheControllerFactory::class,
            'UnicaenApp\Controller\Instadia' => InstadiaControllerFactory::class,
            ConsoleController::class         => ConsoleControllerFactory::class,
        ]
        ],
    ],

    'doctrine' => [
@@ -477,6 +479,14 @@ return [
                ],
            ],
        ],
        'configuration' => [
            'orm_default' => [
                'string_functions' => [
                    'compriseEntre' => CompriseEntre::class,
                    'pasHistorise' => PasHistorise::class,
                ],
            ],
        ],
    ],

    'view_manager' => [
+20 −0
Changes for config/unicaen-app.local.php.dist: 20 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -7,6 +7,24 @@
 */
return [
    'unicaen-app' => [
         /**
         * Paramétrage pour utilisation pour autorisation ou non à la connexion à
         * une app de l'exterieur de l'établissement
         */
         hostlocalization'       => [
             'activated' => false,

             'proxies' => [
                 //xxx.xx.xx.xxx
             ],

             'reverse-proxies' => [
                 //xxx.xx.xx.xxx
             ],

             'masque-ip' => '',

         ],
        /**
         * Connexion à l'annuaire LDAP (NB: compte admin requis)
         */
@@ -59,5 +77,7 @@ return [
                // ['195.220.135.97', '194.199.107.33'], // Via proxy
            ],
        ],


    ],
];
 No newline at end of file
+14 −15
Changes for doc/Services.md: 14 added lines, 15 removed lines.
Original line number Diff line number Diff line
@@ -6,8 +6,7 @@ LDAP

### Group

Service d\'accès aux groupes de l\'annuaire LDAP. Avec le gestionnaire
de service, ce service est accessible ainsi :
Service d\'accès aux groupes de l\'annuaire LDAP. Avec le gestionnaire de service, ce service est accessible ainsi :

``` {.php}
$service = $sm->get('ldap_group_service'); /* @var $service \UnicaenApp\Service\Ldap\Group */
@@ -15,8 +14,7 @@ $service = $sm->get('ldap_group_service'); /* @var $service \UnicaenApp\Service\

### People

Service d\'accès aux individus de l\'annuaire LDAP. Avec le gestionnaire
de service, ce service est accessible ainsi :
Service d\'accès aux individus de l\'annuaire LDAP. Avec le gestionnaire de service, ce service est accessible ainsi :

``` {.php}
$service = $sm->get('ldap_people_service'); /* @var $service \UnicaenApp\Service\Ldap\People */
@@ -24,8 +22,7 @@ $service = $sm->get('ldap_people_service'); /* @var $service \UnicaenApp\Service

### Structure

Service d\'accès aux structures de l\'annuaire LDAP. Avec le
gestionnaire de service, ce service est accessible ainsi :
Service d\'accès aux structures de l\'annuaire LDAP. Avec le gestionnaire de service, ce service est accessible ainsi :

``` {.php}
$service = $sm->get('ldap_structure_service'); /* @var $service \UnicaenApp\Service\Ldap\Structure */
@@ -35,16 +32,17 @@ $service = $sm->get('ldap_structure_service'); /* @var $service \UnicaenApp\Serv

Le service HostLocalization a pour but de déterminer si le poste client est situé dans le réseau de l'Etablissement ou non.

En standard, seul un mécanisme de détection pour l'Université de Caen est disponible.
Pour Caen, l'idée est la suivante : la méthode inEtablissement du service renverra true si la machine de l'utilisateur est dans les cas suivants :
En standard, seul un mécanisme de détection pour l'Université de Caen est disponible. Pour Caen, l'idée est la suivante : la
méthode inEtablissement du service renverra true si la machine de l'utilisateur est dans les cas suivants :

* En direct et en interne sans passer par le proxy (pas de redirection)
* En interne, que l'on sort puis on re-rentre en passant par le reverse proxy
* En interne, que l'on passe par le proxy en interne
Sinon false.
* En interne, que l'on passe par le proxy en interne Sinon false.

Il est cependant possible d'ajouter votre propre mécanisme de localisation.

Attention : en mode développement, sur votre machine et avec l'appli en localhost, vous ne serez pas considéré comme sur le réseau de l'établissement.
Attention : en mode développement, sur votre machine et avec l'appli en localhost, vous ne serez pas considéré comme sur le
réseau de l'établissement.

#### Récupération et utilisation du service

@@ -63,14 +61,15 @@ if ($hl->inEtablissement()){
}
```

Un Trait [HostLocalizationAwareTrait](../src/UnicaenApp/HostLocalization/HostLocalizationAwareTrait.php) est dispo avec un getter et un setter pour pouvoir injecter proprement la dépendance dans votre code.
Un Trait [HostLocalizationAwareTrait](../src/UnicaenApp/HostLocalization/HostLocalizationAwareTrait.php) est dispo avec un
getter et un setter pour pouvoir injecter proprement la dépendance dans votre code.

### Créer votre propre système de localization

Pour utiliser votre propre système de HostLocalization, il vous faut :

Créer une classe implémentant [HostLocalizationInterface](../src/UnicaenApp/HostLocalization/HostLocalizationInterface.php).
La rendre dispo comme service dans votre config du ServiceManager.
Modifier l'alias de service 'HostLocalization' pour le faire pointer sur votre propre classe.
La rendre dispo comme service dans votre config du ServiceManager. Modifier l'alias de service 'HostLocalization' pour le
faire pointer sur votre propre classe.

Vous pourrez au besoin vous inspirer de [HostLocalizationUnicaen](../src/UnicaenApp/HostLocalization/HostLocalizationUnicaen.php).
 No newline at end of file
Vous pourrez au besoin vous inspirer de [HostLocalization](../src/UnicaenApp/HostLocalization/HostLocalization.php).
 No newline at end of file
+1 −1
Changes for src/UnicaenApp/Exporter/Pdf.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -584,7 +584,7 @@ class Pdf implements ExporterInterface
                    $this->marginBottom,
                    $this->marginHeader,
                    $this->marginFooter,
                    'tempDir' => sys_get_temp_dir(),
                    'tempDir' => sys_get_temp_dir() . '/mpdf',
            ]);

            $this->mpdf->useSubstitutions = false;
Loading