Commit 6ee35ac1 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Ajout d'options.

Doc.
parent ec41ba31
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
<?php

namespace UnicaenLeocarte;

return [
    'unicaen-leocarte' => [
        /**
         * Témoin indiquant si le droit d'utilisation de la photo doit être pris en considération ou non.
         */
        'check_droit_utilisation_photo' => true,

        /**
         * Options de génération d'une image informative lorsque le droit d'utilisation de la photo est refusé.
         */
        'generation_photo_non_autorisee_config' => [
            'width'   => 100,
            'height'  => 120,
        ],
    ]
];
 No newline at end of file
+21 −6
Original line number Diff line number Diff line
@@ -13,6 +13,11 @@ class IndexController extends AbstractActionController implements LeocarteServic
{
    use LeocarteServiceAwareTrait;

    /**
     * @var bool Témoin indiquant si le droit d'utilisation de la photo doit être pris en considération ou non.
     */
    protected $checkDroitUtilisationPhoto;

    /**
     * Récupère la photo d'un étudiant.
     *
@@ -27,13 +32,13 @@ class IndexController extends AbstractActionController implements LeocarteServic
        $nocache = (bool) (int) $this->params()->fromQuery('nocache', '0');

        try {
            $autorise = true;
            if ($this->checkDroitUtilisationPhoto) {
                $autorise = $this->leocarteService->getDroitUtilisationPhoto($id);
            if ($autorise) {
                $content = $this->leocarteService->getPhoto($id);
            }
            else {
                $content = $this->leocarteService->createPhotoNonAutorisee();
            }
            $content = $autorise ?
                $this->leocarteService->getPhoto($id) :
                $this->leocarteService->createPhotoNonAutorisee();
        }
        catch (NotFoundException $e) {
            // Requête infructueuse
@@ -70,4 +75,14 @@ class IndexController extends AbstractActionController implements LeocarteServic

        return $response;
    }

    /**
     * Spécifie s'il faut vérifier que l'utilisation de la photo est autorisée ou non.
     *
     * @param bool $check
     */
    public function setCheckDroitUtilisationPhoto($check = true)
    {
        $this->checkDroitUtilisationPhoto = $check;
    }
}
 No newline at end of file
+83 −8
Original line number Diff line number Diff line
@@ -5,32 +5,107 @@ namespace UnicaenLeocarte\Options;
use Zend\Stdlib\AbstractOptions;
use Zend\Stdlib\ArrayUtils;

/**
 * Classe encapsulant les options du module UnicaenLeocarte.
 *
 * @author Unicaen
 */
class ModuleOptions extends AbstractOptions
{
    /**
     * Config du client SOAP.
     *
     * @var array
     */
    protected $soapClientConfig = [
        'wsdl' => [
            'file'     => '',
            'username' => '',
            'password' => '',

        ],
        'soap' => [
            'version' => SOAP_1_1, // cf. extension "php-soap"
        ],
    ];

    /**
     * Témoin indiquant si le droit d'utilisation de la photo doit être pris en considération ou non.
     *
     * @var bool
     */
    protected $checkDroitUtilisationPhoto = true;

    /**
     * Options de génération d'une image informative lorsque le droit d'utilisation de la photo est refusé.
     *
     * @var array
     */
    protected $leo = [];
    protected $generationPhotoNonAutoriseeConfig = [
        'width'   => 100,
        'height'  => 120,
    ];

    /**
     * Getter for léocarte
     * Retourne la config du client SOAP.
     *
     * @return array
     */
    public function getLeocarte()
    public function getSoapClientConfig()
    {
        return (array)$this->leo;
        return $this->soapClientConfig;
    }

    /**
     * Setter for léocarte
     * Fusionne la config courante du client SOAP avec celle spécifiée.
     *
     * @param array $leo Value to set
     * @param array $config
     * @return self
     */
    public function setLeocarte(array $leo = [])
    public function setSoapClientConfig(array $config = [])
    {
        $this->soapClientConfig = ArrayUtils::merge($this->soapClientConfig, $config);

        return $this;
    }

    /**
     * @return boolean
     */
    public function getCheckDroitUtilisationPhoto()
    {
        return $this->checkDroitUtilisationPhoto;
    }

    /**
     * @param boolean $checkDroitUtilisationPhoto
     * @return $this
     */
    public function setCheckDroitUtilisationPhoto($checkDroitUtilisationPhoto = true)
    {
        $this->checkDroitUtilisationPhoto = $checkDroitUtilisationPhoto;

        return $this;
    }

    /**
     * @return array
     */
    public function getGenerationPhotoNonAutoriseeConfig()
    {
        return $this->generationPhotoNonAutoriseeConfig;
    }

    /**
     * Fusionne la config courante concernant la génération d'image informative
     * (en cas d'interdiction d'utilisation de la photo) avec celle spécifiée.
     *
     * @param array $config
     * @return $this
     */
    public function setGenerationPhotoNonAutoriseeConfig($config)
    {
        $this->leo = ArrayUtils::merge($this->leo, $leo);
        $this->generationPhotoNonAutoriseeConfig = ArrayUtils::merge($this->generationPhotoNonAutoriseeConfig, $config);

        return $this;
    }