Commit ca468b1b authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Compatibilité PHP 8.4

- catch (\Exception) dans Siham au lieu d'une classe inexistante du namespace
- recupererNomenclatureRH retourne [] si aucun résultat
- initialisation de $listeMatricules (faute de frappe)
- SihamException : __toString(): string, cast du message, suppression du return dans le constructeur
- suppression des imports laminas/mail inutilisés
- composer.json : php ^8.2 et ext-soap
parent 20bf9517
Loading
Loading
Loading
Loading
Loading
+13 −0
Changes for CHANGELOG.md: 13 added lines, 0 removed lines.
Original line number Diff line number Diff line
# Versions stables

# SIHAM 8.0.0 (22/10/26)

## Nouveautés

* Version majeure compatible PHP 8.4, PHP 8.2 minimum requis

## Corrections

* Correction des `catch (Exception)` non préfixés, retour manquant de `recupererNomenclatureRH`, variable `$listeMatricules` non initialisée
* Nettoyage de `SihamException` (`__toString(): string`, message null)
* Suppression des imports laminas/mail inutilisés
* Ajout des contraintes `php ^8.2` et `ext-soap` dans composer.json

# SIHAM 6.2.0 (09/01/25)

## Nouveautés
+2 −0
Changes for composer.json: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
        }
    ],
    "require"     : {
        "php"           : "^8.2",
        "ext-soap"      : "*",
        "symfony/mailer": "^7"
    },

+3 −3
Changes for src/UnicaenSiham/Exception/SihamException.php: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ class SihamException extends \Exception

        foreach ($this->errorMessages as $error => $mess) {

            if (preg_match("/$error/", $message)) {
            if (preg_match("/$error/", (string)$message)) {
                $translateMessage = "Un problème est survenu lors de l'appel à l'API SIHAM / " . $mess;

                if ($error == 'failed to load external entity') {
@@ -45,11 +45,11 @@ class SihamException extends \Exception

        $message = (!empty($translateMessage)) ? $translateMessage : $defaultMessage;

        return parent::__construct($message, $code, $previous);
        parent::__construct($message, $code, $previous);
    }


    public function __toString()
    public function __toString(): string
    {
        return $this->getMessage();
    }
+6 −7
Changes for src/UnicaenSiham/Service/Siham.php: 6 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -10,9 +10,6 @@ use Symfony\Component\Mime\Address;
use Symfony\Component\Mime\Email;
use UnicaenSiham\Entity\Agent;
use UnicaenSiham\Exception\SihamException;
use Laminas\Mail\Message;
use Laminas\Mail\Transport\Smtp as SmtpTransport;
use Laminas\Mail\Transport\SmtpOptions;

class Siham
{
@@ -252,7 +249,7 @@ class Siham

    public function recupererDonneesPersonnellesAgent(array $params): ?Agent
    {
        $listMatricules = [];
        $listeMatricules = [];
        $agent           = null;
        foreach ($params['listeMatricules'] as $matricule) {
            $listeMatricules[] = ['matricule' => $matricule];
@@ -296,7 +293,7 @@ class Siham

    public function recupererDonneesAdministrativeAgent(array $params)
    {
        $listMatricules = [];
        $listeMatricules = [];
        foreach ($params['listeMatricules'] as $matricule) {
            $listeMatricules[] = ['matricule' => $matricule];
        }
@@ -439,7 +436,7 @@ class Siham
                    }
                }
            }
        } catch (Exception $e) {
        } catch (\Exception $e) {
            $this->sendDebug('WS DossierAgentWebService / METHOD ModifDonneesPersonnelles', $e);
            throw new SihamException($e->getMessage(), 0, $e);
        }
@@ -1150,10 +1147,12 @@ class Siham

                return $nomenclature;
            }
        } catch (Exception $e) {
        } catch (\Exception $e) {
            $this->sendDebug('WS DossierParametrageWebService / METHOD RecupNomenclaturesRH', $e);
            throw new SihamException($e->getMessage(), 0, $e);
        }

        return [];
    }