Date de Fin de droits

by toubia95

JavaScript

/* CALCULATE FDA **************************************************
* dpp: Date de première publication.
* dda: Date de décès de l'auteur.
* mpf: Auteur mort pour la France.
* mpf1: Auteur mort pour la France pendant la Première Guerre Mondiale.
* mpf2: Auteur mort pour la France pendant la Seconde Guerre Mondiale.
* es: Editeur scientifique.
* ddes: Date de décès de l'éditeur scientifique.
*******************************************************************/

function calculateFDA(dpp, dda, mpf, mpf1, mpf2, es, ddes) {
    let fda;
    const currentYear = new Date().getFullYear();
    
    if (dda) {
        // Cas où l'auteur est décédé
        fda = dda + 70;
    } else {
        // Cas où l'auteur n'est pas décédé
        fda = dpp + 70;
    }

    // Prorogation Première Guerre Mondiale
    if (dpp >= 1914 && dpp <= 1918) {
        fda = dpp + 50 + 6;
        if (mpf1) {
            fda += 30;
        }
    }

    // Prorogation Seconde Guerre Mondiale
    if (dpp >= 1939 && dpp <= 1948) {
        fda = dpp + 50 + 8;
        if (mpf2) {
            fda += 30;
        }
    }

    // Prorogation Auteur mort pour la France
    if (mpf) {
        fda = dpp + 50 + 30;
    }

    // Oeuvre posthume
    if (dpp > dda) {
        if (dpp > dda + 70) {
            fda = dpp + 25;
        } else {
            fda = currentYear + 70;
        }
    }

    // Editeur scientifique
    let fdes;
    if (es && ddes) {
        fdes = ddes + 70;
    }

    console.log("Fin des Droits d'Auteur (FDA): " + fda);
    if (es && ddes) {
        console.log("Fin des Droits d'Editeur Scientifique (FDES): " + fdes);
    }
}

// Exemple d'utilisation du script
/*
* dpp: Date de première publication.
* dda: Date de décès de l'auteur.
* mpf: Auteur mort pour la France.
* mpf1: Auteur mort pour la France pendant la Première Guerre Mondiale.
* mpf2: Auteur mort pour la France pendant la Seconde Guerre Mondiale.
* es: Editeur scientifique.
* ddes: Date de décès de l'éditeur...