Outils pour utilisateurs

Outils du site


zabeth:publimsi_json

PUBLIMSI : lecture d'un fichier json

Certains utilisateurs ont changé de groupe pendant la période 2013-2018. Pour l'export des publications au format Bibtex dans le cadre de l'évaluation HCERES, ces changements ont été notés dans un fichier json.

correctif.json
{
    "correctifs": [
        {
            "login": "rick",
            "avant": 2017,
            "groupe": "ABC"
        },
        {
            "login": "morty",
            "avant": 2018,
            "groupe": "DEF"
        } 
        ]
}

On peut récupérer assez rapidement la liste des logins à modifier dans un tableau :

All_export.php
$url = "correctif.json";
$json = file_get_contents($url);
$parsed_json = json_decode($json);
 
// On compte le nombre de logins à modifier
$combien = count($parsed_json->{'correctifs'});
 
// Tableau des logins à modifier
    $a_modifier = array();
    for ($i = 0; $i < $combien; $i++) {
        $a_modifier[$i] = $parsed_json->{'correctifs'}[$i]->{'login'};
    }

La fonction corrige_groupe est appelée avec une année (celle de la publication à exporter). Elle renvoie le bon groupe.

classes_auteurs.php
class Personnels {
 
    public $login;
    public $nom_famille;
    public $prenom;
    public $mail;
    public $organisme;
    public $fonction;
    public $groupe;
    public $login_ccsd;
    public $IdHAL;
 
 function corrige_groupe($annee_publi,$parsed_json) {
        // Le fichier Json où tout est indiqué
            $combien = count($parsed_json->{'correctifs'});
            // Tableau des logins à modifier
 
            for ($i=0;$i<$combien;$i++) {
                $qui=$parsed_json -> {'correctifs'}[$i]->{'login'};
                $annee_max=$parsed_json -> {'correctifs'}[$i]->{'avant'};
                if (($qui == $this->login) AND ($annee_publi<$annee_max)) {
                   $this->groupe=$parsed_json -> {'correctifs'}[$i]->{'groupe'};
                }
            }
    }
}
Traductions de cette page:
zabeth/publimsi_json.txt · Dernière modification : 2018/07/19 15:54 de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki