Skip to content
Snippets Groups Projects
Select Git revision
  • 90967cd6bd2b25de27378caa64dee5336cf76070
  • master default protected
  • 5.x
  • ll-php8-bs5
  • release_5_bs5
  • ll-php8
  • 4.x
  • laminas_migration
  • release_1.0.0.2
  • release_4.0.0
  • release_3.2.8
  • bootstrap4_migration
  • 1.0.0.3
  • 6.0.7
  • 6.0.6
  • 6.0.5
  • 6.0.4
  • 6.0.3
  • 6.0.2
  • 6.0.1
  • 5.1.1
  • 6.0.0
  • 5.1.0
  • 5.0.0
  • 4.0.2
  • 3.2.11
  • 4.0.1
  • 3.2.10
  • 4.0.0
  • 1.0.0.2
  • 3.2.9
  • 3.2.8
32 results

Module.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    create-version-config-file 1.98 KiB
    #!/usr/bin/env php
    <?php
    
    /**
     * Script à utiliser pour inscrire dans le fichier de config locale le numéro et la date de version de l'application
     * spécifiés en argument.
     *
     * Le chemin du fichier de config créé est par défaut 'config/autoload/auto.version.local.php'.
     *
     * Usage:  ./create-version-config-file --number <version> --date <date> [--file <path>]
     * Ex:     ./create-version-config-file --number 2.0.0 --date "03/11/2020" --file "config/autoload/auto.version.local.php"
     */
    
    require 'vendor/autoload.php';
    
    use Laminas\Config\Writer\PhpArray;
    
    const DEFAULT_FILE_PATH = 'config/autoload/auto.version.local.php';
    const ARG_VERSION_NUMBER = '--number';
    const ARG_VERSION_DATE = '--date';
    const ARG_FILE_PATH = '--file';
    
    $versionNumber = ($pos = array_search(ARG_VERSION_NUMBER, $argv)) !== false ? ($argv[$pos+1] ?? null) : null;
    $versionDate = ($pos = array_search(ARG_VERSION_DATE, $argv)) !== false ? ($argv[$pos+1] ?? null) : null;
    $configFilepath = ($pos = array_search(ARG_FILE_PATH, $argv)) !== false ? ($argv[$pos+1] ?? null) : null;
    
    if ($versionNumber === null) {
        echo ":-( Vous devez spécifier le numéro de version via " . ARG_VERSION_NUMBER . PHP_EOL;
        exit(1);
    }
    if ($versionDate === null) {
        echo ":-( Vous devez spécifier la date de version via " . ARG_VERSION_DATE . PHP_EOL;
        exit(1);
    }
    if ($configFilepath === null) {
        $configFilepath = DEFAULT_FILE_PATH;
    }
    $configFilepath = realpath($configFilepath);
    
    $config = [
        'unicaen-app' => [
            'app_infos' => [
                'version' => $versionNumber,
                'date' => $versionDate,
            ],
        ],
        'comment' => sprintf("Fichier généré le %s avec le script '%s'.", date('d/m/Y à H:i:s'), basename(__FILE__))
    ];
    
    $phpArray = new PhpArray();
    $phpArray
        ->setUseBracketArraySyntax(true)
        ->toFile($configFilepath, $config);
    
    echo "Fichier de config créé : $configFilepath" . PHP_EOL;
    echo "  Version inscrite : $versionNumber" . PHP_EOL;
    echo "  Date inscrite :    $versionDate" . PHP_EOL;