====== 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.
{
"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 :
$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.
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'};
}
}
}
}