Updates education and adapts AX data to merge them into Xorg data (Closes #891).
authorStéphane Jacob <jacou@melix.net>
Sun, 12 Oct 2008 21:50:58 +0000 (23:50 +0200)
committerStéphane Jacob <jacou@melix.net>
Mon, 20 Oct 2008 19:46:22 +0000 (21:46 +0200)
16 files changed:
ChangeLog
include/education.func.inc.php
include/user.func.inc.php
include/userset.inc.php
modules/fusionax.php
modules/fusionax/Formations.sql
modules/fusionax/formation.pl [new file with mode: 0755]
modules/fusionax/import-ax.sh
templates/fusionax/index.tpl
templates/fusionax/listFusion.tpl
templates/fusionax/promo.tpl [new file with mode: 0644]
templates/profile/profile.tpl
upgrade/merge-0.0.1/07_education.php [new file with mode: 0755]
upgrade/newdirectory-0.0.1/06_education.sql
upgrade/newdirectory-0.0.1/09_education.sql [new file with mode: 0644]
upgrade/newdirectory-0.0.1/connect.db.inc.php

index 0013ddb..03744cf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,7 @@ Bug/Wish:
         - #188: Adds informations about the Corps d'État                   -JAC
         - #209: Thoroughly changes education's implementation              -JAC
         - #386: Adds the possibility to fill in multiple nationalities     -JAC
+        - #891: Improves education display                                 -JAC
 
 ================================================================================
 VERSION 0.9.18                                                        XX XX XXXX
index 64da8f1..857774e 100644 (file)
@@ -24,7 +24,10 @@ function education_options($current = 0)
     $html = '<option value="-1"></option>';
     $res  = XDB::iterator("SELECT  e.id AS id, e.name AS name, g.pays AS country
                              FROM  profile_education_enum AS e
-                       INNER JOIN  geoloc_pays            AS g ON (e.country = g.a2)
+                        LEFT JOIN  geoloc_pays            AS g ON (e.country = g.a2)
+                     WHERE EXISTS  (SELECT  *
+                                      FROM  profile_education_degree AS d
+                                     WHERE  e.id = d.eduid)
                          ORDER BY  g.pays, e.name");
     $country = "";
     while ($arr_edu = $res->next()) {
@@ -57,10 +60,10 @@ Platal::page()->register_function('education_options', '_education_options_smart
 function education_degree()
 {
     $html = "";
-    $res = XDB::iterRow("SELECT  eduid, degreeid
-                           FROM  profile_education_degree AS d
-                     INNER JOIN  profile_education_enum   AS e ON (e.id = d.eduid)
-                     INNER JOIN  geoloc_pays              AS g ON (e.country = g.a2)
+    $res = XDB::iterRow("SELECT  d.eduid, d.degreeid
+                           FROM  profile_education_enum   AS e
+                     INNER JOIN  profile_education_degree AS d ON (e.id = d.eduid)
+                      LEFT JOIN  geoloc_pays              AS g ON (e.country = g.a2)
                        ORDER BY  g.pays, e.name");
     if ($edu_degree = $res->next()) {
         $eduid = $edu_degree['0'];
@@ -92,7 +95,6 @@ Platal::page()->register_function('education_degree', 'education_degree');
  */
 function education_degree_all()
 {
-    $html = "";
     $res = XDB::query("SELECT  id
                          FROM  profile_education_degree_enum
                      ORDER BY  id");
@@ -104,11 +106,10 @@ Platal::page()->register_function('education_degree_all', 'education_degree_all'
  */
 function education_degree_name()
 {
-    $html = "";
     $res = XDB::query("SELECT  degree
-                           FROM  profile_education_degree_enum
-                       ORDER BY  id");
-    return '\'' . implode('\',\'', $res->fetchColumn()) . '\'';
+                         FROM  profile_education_degree_enum
+                     ORDER BY  id");
+    return '"' . implode('","', $res->fetchColumn()) . '"';
 }
 Platal::page()->register_function('education_degree_name', 'education_degree_name');
 
@@ -142,19 +143,17 @@ function education_fmt($name, $url, $degree, $grad_year, $field, $program, $sexe
         }
     }
 
-    if (($degree != "Licence") || ($long)) {
-        if (($degree != "Ingénieur") && ($degree != "Diplôme")) {
+    if (($degree != "Lic.") || ($long)) {
+        if (($degree != "Ing.") && ($degree != "Dipl.")) {
             $txt .= $degree;
         }
-        if ($name != "Université") {
-            if ($name) {
-                $txt .= ' ';
-            }
-            if ($url != ' ') {
-                $txt .= "<a href=\"$url\" onclick=\"return popup(this)\">$name</a>";
-            } else {
-                $txt .= $name;
-            }
+        if ($name) {
+            $txt .= ' ';
+        }
+        if ($url != ' ') {
+            $txt .= "<a href=\"$url\" onclick=\"return popup(this)\">$name</a>";
+        } else {
+            $txt .= $name;
         }
     }
     $txt .= "</span>";
index 3b18c7b..104dd64 100644 (file)
@@ -353,19 +353,18 @@ function &get_user_details($login, $from_uid = '', $view = 'private')
     $res = XDB::iterRow("SELECT  en.name AS name, en.url AS url, d.degree AS degree,
                                  ed.grad_year AS grad_year, f.field AS field, ed.program AS program
                            FROM  profile_education AS ed
-                     INNER JOIN  profile_education_enum        AS en ON (en.id = ed.eduid)
-                     INNER JOIN  profile_education_degree_enum AS d  ON (d.id  = ed.degreeid)
-                     INNER JOIN  profile_education_field_enum  AS f  ON (f.id  = ed.fieldid)
+                      LEFT JOIN  profile_education_enum        AS en ON (en.id = ed.eduid)
+                      LEFT JOIN  profile_education_degree_enum AS d  ON (d.id  = ed.degreeid)
+                      LEFT JOIN  profile_education_field_enum  AS f  ON (f.id  = ed.fieldid)
                           WHERE  uid={?}
                        ORDER BY  ed.grad_year", $uid);
 
-    $user['education'] = "";
-    require_once('education.func.inc.php');
     if (list($name, $url, $degree, $grad_year, $field, $program) = $res->next()) {
-        $user['education'] .= education_fmt($name, $url, $degree, $grad_year, $field, $program, $user['sexe'], true);
+        require_once('education.func.inc.php');
+        $user['education'][] = education_fmt($name, $url, $degree, $grad_year, $field, $program, $user['sexe'], true);
     }
     while (list($name, $url, $degree, $grad_year, $field, $program) = $res->next()) {
-        $user['education'] .= ", " . education_fmt($name, $url, $degree, $grad_year, $field, $program, $user['sexe'], true);
+        $user['education'][] = education_fmt($name, $url, $degree, $grad_year, $field, $program, $user['sexe'], true);
     }
 
     if (has_user_right($user['corps_pub'], $view)) {
index e81fef2..7bbb1f8 100644 (file)
@@ -178,16 +178,20 @@ class MinificheView extends MultipageView
                 u.deces != 0 AS dcd, u.deces, u.matricule_ax,
                 FIND_IN_SET('femme', u.flags) AS sexe,
                 e.entreprise, e.web AS job_web, es.label AS secteur, ef.fonction_fr AS fonction,
-                IF(n1.nat='',n1.pays,n1.nat) AS nat1, n1.a2 AS iso3166_1,
-                IF(n2.nat='',n2.pays,n2.nat) AS nat2, n2.a2 AS iso3166_2,
-                IF(n3.nat='',n3.pays,n3.nat) AS nat3, n3.a2 AS iso3166_3,
-                ede0.name AS eduname0, ede0.url AS eduurl0, edd0.degree AS edudegree0,
+                IF(n1.nat = '', n1.pays, n1.nat) AS nat1, n1.a2 AS iso3166_1,
+                IF(n2.nat = '', n2.pays, n2.nat) AS nat2, n2.a2 AS iso3166_2,
+                IF(n3.nat = '', n3.pays, n3.nat) AS nat3, n3.a2 AS iso3166_3,
+                IF(ede0.abbreviation = '', ede0.name, ede0.abbreviation) AS eduname0, ede0.url AS eduurl0,
+                IF(edd0.abbreviation = '', edd0.degree, edd0.abbreviation) AS edudegree0,
                 edu0.grad_year AS edugrad_year0, f0.field AS edufield0, edu0.program AS eduprogram0,
-                ede1.name AS eduname1, ede1.url AS eduurl1, edd1.degree AS edudegree1,
+                IF(ede1.abbreviation = '', ede1.name, ede1.abbreviation) AS eduname1, ede1.url AS eduurl1,
+                IF(edd1.abbreviation = '', edd1.degree, edd1.abbreviation) AS edudegree1,
                 edu1.grad_year AS edugrad_year1, f1.field AS edufield1, edu1.program AS eduprogram1,
-                ede2.name AS eduname2, ede2.url AS eduurl2, edd2.degree AS edudegree2,
+                IF(ede2.abbreviation = '', ede2.name, ede2.abbreviation) AS eduname2, ede2.url AS eduurl2,
+                IF(edd2.abbreviation = '', edd2.degree, edd2.abbreviation) AS edudegree2,
                 edu2.grad_year AS edugrad_year2, f2.field AS edufield2, edu2.program AS eduprogram2,
-                ede3.name AS eduname3, ede3.url AS eduurl3, edd3.degree AS edudegree3,
+                IF(ede3.abbreviation = '', ede3.name, ede3.abbreviation) AS eduname3, ede3.url AS eduurl3,
+                IF(edd3.abbreviation = '', edd3.degree, edd3.abbreviation) AS edudegree3,
                 edu3.grad_year AS edugrad_year3, f3.field AS edufield3, edu3.program AS eduprogram3,
                 adr.city, gp.a2, gp.pays AS countrytxt, gr.name AS region,
                 (COUNT(em.email) > 0 OR FIND_IN_SET('googleapps', u.mail_storage) > 0) AS actif,
index 28958be..aa07f4b 100644 (file)
@@ -43,6 +43,7 @@ class FusionAxModule extends PLModule
             'fusionax/view'     => $this->make_hook('view',     AUTH_MDP, 'admin'),
             'fusionax/ids'      => $this->make_hook('ids',      AUTH_MDP, 'admin'),
             'fusionax/deceased' => $this->make_hook('deceased', AUTH_MDP, 'admin'),
+            'fusionax/promo'    => $this->make_hook('promo',    AUTH_MDP, 'admin'),
         );
     }
 
@@ -171,12 +172,12 @@ class FusionAxModule extends PLModule
             XDB::execute('DROP VIEW IF EXISTS fusionax_deceased');
             XDB::execute('CREATE VIEW  fusionax_deceased AS
                                SELECT  u.user_id, a.id_ancien, u.nom, u.prenom, u.promo, u.deces AS deces_xorg, a.Date_deces AS deces_ax
-                                 FROM  auth_user_md5 i  AS u
+                                 FROM  auth_user_md5    AS u
                            INNER JOIN  fusionax_anciens AS a ON (a.id_ancien = u.matricule_ax)
                                 WHERE  u.deces != a.Date_deces');
             XDB::execute('DROP VIEW IF EXISTS fusionax_promo');
             XDB::execute('CREATE VIEW  fusionax_promo AS
-                               SELECT  u.user_id, u.matricule_ax, u.nom, u.prenom, u.promo AS promo_etude_xorg,
+                               SELECT  u.user_id, u.matricule_ax, CONCAT(u.nom, " ", u.prenom) AS display_name, u.promo AS promo_etude_xorg,
                                        f.promotion_etude AS promo_etude_ax, u.promo_sortie AS promo_sortie_xorg
                                  FROM  auth_user_md5    AS u
                            INNER JOIN  fusionax_anciens AS f ON (u.matricule_ax = f.id_ancien)
@@ -408,6 +409,24 @@ class FusionAxModule extends PLModule
         $page->assign('nbDeceasedDifferent', $res->total());
         $page->assign('deceasedDifferent', $res);
     }
+
+    function handler_promo(&$page, $action = '')
+    {
+        $page->changeTpl('fusionax/promo.tpl');
+        $res = XDB::iterator('SELECT  user_id, display_name, promo_etude_xorg, promo_sortie_xorg, promo_etude_ax
+                                FROM  fusionax_promo
+                               WHERE  !(promo_etude_ax + 1 = promo_etude_xorg AND promo_etude_xorg + 3 = promo_sortie_xorg)');
+        $nbMissmatchingPromos = $res->total();
+        $page->assign('nbMissmatchingPromos1', $res->total());
+        $page->assign('missmatchingPromos1', $res);
+        $res = XDB::iterator('SELECT  user_id, display_name, promo_etude_xorg, promo_sortie_xorg, promo_etude_ax
+                                FROM  fusionax_promo
+                               WHERE  promo_etude_ax + 1 = promo_etude_xorg AND promo_etude_xorg + 3 = promo_sortie_xorg');
+        $nbMissmatchingPromos += $res->total();
+        $page->assign('nbMissmatchingPromos2', $res->total());
+        $page->assign('missmatchingPromos2', $res);
+        $page->assign('nbMissmatchingPromos', $nbMissmatchingPromos);
+    }
 }
 
 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:?>
index fe09ed3..c2b09f6 100644 (file)
@@ -3,14 +3,18 @@
 DROP TABLE IF EXISTS `fusionax_formations`;
 
 CREATE TABLE IF NOT EXISTS `fusionax_formations` (
-  `FO` CHAR(2) NOT NULL COMMENT 'Vaut toujours FO pour cette table',
-  `id_ancien` VARCHAR(8) NOT NULL COMMENT 'Id unique de l''ancien',
-  `Intitule_formation` VARCHAR(60) collate utf8_general_ci NOT NULL COMMENT 'Intitulé de la formation',
-  `Date_maj` DATE NOT NULL COMMENT 'Date de mise à jour de ces informations',
-  PRIMARY KEY (`id_ancien`, `Intitule_formation`)
+  FO CHAR(2) NOT NULL COMMENT 'Vaut toujours FO pour cette table',
+  id_ancien VARCHAR(8) NOT NULL COMMENT 'Id unique de l''ancien',
+  Intitule_diplome VARCHAR(60) collate utf8_general_ci NOT NULL COMMENT 'Intitulé du diplôme',
+  Intitule_formation VARCHAR(60) collate utf8_general_ci NOT NULL COMMENT 'Intitulé de la formation',
+  Descr_formation VARCHAR(60) collate utf8_general_ci NOT NULL COMMENT 'Description de la formation',
+  tmp_1 VARCHAR(60) collate utf8_general_ci NOT NULL,
+  tmp_2 VARCHAR(60) collate utf8_general_ci NOT NULL,
+  tmp_3 VARCHAR(60) collate utf8_general_ci NOT NULL,
+  tmp_4 VARCHAR(60) collate utf8_general_ci NOT NULL,
+  PRIMARY KEY (id_ancien, Intitule_diplome, Intitule_formation)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
 
-LOAD DATA LOCAL INFILE 'Formations.txt' INTO TABLE `fusionax_formations` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n'
-(FO, id_ancien, Intitule_formation, @StringDate_maj)
-SET 
-`Date_maj` = CONCAT(SUBSTRING(@StringDate_maj,7),'-',SUBSTRING(@StringDate_maj,4,2),'-',SUBSTRING(@StringDate_maj,1,2));
+                              LOAD DATA LOCAL INFILE  'Formations.txt'
+                                          INTO TABLE  fusionax_formations
+FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n'  (FO, id_ancien, Intitule_diplome, Intitule_formation, Descr_formation, tmp_1, tmp_2, tmp_3, tmp_4);
diff --git a/modules/fusionax/formation.pl b/modules/fusionax/formation.pl
new file mode 100755 (executable)
index 0000000..3ee392a
--- /dev/null
@@ -0,0 +1,1289 @@
+#!/usr/bin/perl
+use utf8;
+open(FILE, "<:encoding(UTF-8)", "Formations.txt") || die ("Erreur d'ouverture");
+open(OUT, ">:encoding(UTF-8)", "Formations_out.txt") || die ("Erreur d'ouverture");
+
+while (<FILE>)
+{
+  # On enlève les dates de mises à jour
+  s/..\/..\/..../\t/;
+  s/..\/..\/../\t/;
+
+  s/\(//;
+  s/\)//;
+  s/3È Cycle//g;
+  s/3e cycle//g;
+  s/3e Cycle//g;
+  s/3È Cycle//g;
+  s/3ÈCycle//g;
+  s/3ÈCycle//g;
+  s/3ème cycle//g;
+  s/Master Chem\.Eng\.//g;
+  s/civ\.//g;
+  s/Civ\.//g;
+  s/ en / /g;
+  s/ ès / /g;
+  s/d'Etat//g;
+  s/ d'/ /g;
+  s/ de l'/ /g;
+  s/ de / /g;
+  s/Univ //g;
+  s/Univ\.//g;
+
+  # On enlève les fiches tordues de l'AX qui sont plus complètes chez nous et on modifie les lignes chiantes
+  s/FO\t19850253\tDEA Sciences et Techniques Environnement Créteil//;
+  s/FO\t19770064\tBiologie Moléculaire//;
+  s/FO\t19520093\tBT//;
+  s/FO\t19960133\tEngineering  Management Certificate//;
+  s/FO\t19560013\tIng I\.E\.G\.//;
+  s/FO\t19780033\tMécanique des Transfert//;
+  s/FO\t19920017\tDEA\+ Thèse Doctorat Pharmacochimie moléculaire//;
+  s/FO\t20010319\tM\.Sc\.in applied Mathematics//;
+  s/FO\t19660131\tMS Schenectady NY/FO\t19660131\tMSc\tNYU/;
+  s/FO\t19870204\tENS/FO\t19870204\tDEA\tENS Ulm/;
+  s/FO\t19910162\tDESS CAAE IAE/FO\t19910162\tDESS\tIAE de Paris/;
+  s/FO\t19950283\tDESS CAAE MBA/FO\t19950283\tMBA\tIAE de Paris/;
+  s/FO\t20020411\tME : Madrid/FO\t20020411\tME\tUPM/;
+  s/FO\t19910255\tDoct Physique Solide Paris XI/FO\t19910255\tPhD\tParis-Sud\tPhysique des solides/;
+  s/FO\t19890053\tDoct. de Physique Univ.Paris XI/FO\t19890053\tPhD\tParis-Sud\tPhysique/;
+  s/FO\t19890248\tPh.D Physique Paris XI/FO\t19890248\tPhD\tParis-Sud\tPhysique/;
+  s/FO\t19580112\tDESGE Lyon III/FO\t19580112\tDipl.\tUniversité Jean-Moulin/;
+
+  # Modifications sur une ligne complète
+  s/IHEDN-CHEAR\t/IHEDN/;
+  s/CHEBAP/Ing.\tCHEC\tCHEBAP (Centre des Hautes Etudes du Béton Armé et Précontraint)/;
+  s/Escuela Sup\. Ing\. Caminos Canales y Puertos/Dipl.\tUPM/;
+  s/MS "Technology & Policy" MIT/MSc\tMIT/;
+  s/MS&E Stanford/MSc\tStanford/;
+  s/Engineering  Management Cert.\t//;
+  s/Etudes sup\. Comptables & Financières\t//;
+
+  # On enlève les professions
+  s/Adm\. HC\t//;
+  s/Prof\. ENSMP\t//;
+  s/Prés\.hon.Colonie Fr\.du Caire\t//;
+  s/Anc\. Avocat au Bareau Toulon\t//;
+  s/Insp\.gén\.hon\.CEA\t//;
+  s/Insp\.Gén\.CRdes Aff\.d'O\.M\.\t//;
+  s/Prof Emérite Gén\. Méca\.\t//;
+  s/Prof\.Hon\.Sup\.Aéro\t//;
+  s/Anc\.DG Dassault Aviation\t//;
+  s/Prof\.des Universités\t//;
+  s/Direct\.Hon.BNP\t//;
+  s/Prof\. hon\.  Bordeaux I\t//;
+  s/Architecte DPLG\t//;
+  s/Conseiller Commercial hors classe\t//;
+  s/Professeur des Universités\t//;
+  s/Gestalt praticien\t//;
+  s/Adm\.\t//;
+  s/Psychologue Clinicien\t//;
+  s/Inspecteur des Finances\t//;
+  s/Don religion\t//;
+  s/Prof\. ENSMP\t//;
+  s/Pilote militaire Hélicoptère\t//;
+  s/Ing\. Navigant Essais Hélicoptère\t//;
+  s/Analyste SFAF\t//;
+  s/European Patent Attorney\t//;
+  s/Pilotage militaire\t//;
+  s/Mandataire agrée OEB\t//;
+  s/Chartered Financial Analyst\t//;
+  s/Pilote chasse\t//;
+  s/Avocat au Barreau Paris\t//;
+  s/Prof\.\t//;
+  s/EURATOM\t//;
+
+  # On enlève les sigles inconnus
+  s/Baccalauréat canonique\t//;
+  s/BEL\t//;
+  s/BEMS\t//;
+  s/BESG\t//;
+  s/Brth\t//;
+  s/BT\t//;
+  s/CES Informatique\t//;
+  s/CESDR\t//;
+  s/CFAF\t//;
+  s/CHEA\t//;
+  s/CHEAR\t//;
+  s/CHEE&DD Session 9\t//;
+  s/CESB\t//;
+  s/CESSID\t//;
+  s/CNAM\t//;
+  s/Collège des Sciences Soc\. et Eco\.\t//;
+  s/CRC\t//;
+  s/CSCP\t//;
+  s/CSME Session 29\t//;
+  s/D\.E\.M\.\t//;
+  s/DECF\t//;
+  s/DECS\t//;
+  s/DESA//;
+  s/DIUUP\t//;
+  s/DRES Sciences\t//;
+  s/DSN\t//;
+  s/DT\t//;
+  s/EATG\t//;
+  s/EERN//;
+  s/Ecole Chasse\t//;
+  s/ENS Armement\t//;
+  s/ENSGM\t//;
+  s/ENSME\t//;
+  s/ESMIM Nancy\t//;
+  s/ESO\t//;
+  s/ETS II\t//;
+  s/Fla USA\t//;
+  s/IAC\t//;
+  s/IAF\t//;
+  s/ICAF Washington\t//;
+  s/ICG\t//;
+  s/IESTO\t//;
+  s/IGP Bordeaux\t//;
+  s/Inst\. Auguste Comte\t//;
+  s/Institut Auguste Comte\t//;
+  s/Institut Auguste Comte IAC\t//;
+  s/Institut Contrôle Gestion//;
+  s/ISNSE Argunne National Laboratory USA\t//;
+  s/FRM\t//;
+  s/MITI Japon\t//;
+  s/MRM\t//;
+  s/Pasadena//;
+  s/React\. School Harwell\t//;
+  s/SFAF\t//;
+  s/SFAF CIIA\t//;
+  s/SM Management\t//;
+  s/Univer\. Ecolo\. Tropic\.//;
+
+  # On adapte les diplômes bien placés
+  s/Ing\./Ing.\t/;
+  s/Licenci./Lic.\t/;
+  s/Licence/Lic.\t/;
+  s/Lic\./Lic.\t/;
+  s/Deug/DEUG\t/;
+  s/DEUG/DEUG\t/;
+  s/Dipl.me/Dipl.\t/;
+  s/Dipl\./Dipl.\t/;
+  s/Anc\.El\./Dipl.\t/;
+  s/DU/Dipl.\t/;
+  s/Agr\./Agr.\t/;
+  s/Agr.g. d.Univers\./Agr.\t/;
+  s/Agrégée/Agr.\t/;
+  s/Agr.g./Agr.\t/;
+  s/Certifi./CAPES\t/;
+  s/Cert\./CAPES\t/;
+  s/CAPES/CAPES\t/;
+  s/DESCF/DESCF\t/;
+  s/DES\./DESS\t/;
+  s/DES\t/DESS\t/;
+  s/DES /DESS\t/;
+  s/DESS/DESS\t/;
+  s/DEA/DEA\t/;
+  s/Doctorat/PhD\t/;
+  s/Docteur/PhD\t/;
+  s/Doct\./PhD\t/;
+  s/Doct/PhD\t/;
+  s/Ph\.D/PhD\t/;
+  s/PhD/PhD\t/;
+  s/Ph D/PhD\t/;
+  s/Dr\./PhD\t/;
+  s/Doc\./PhD\t/;
+  s/Th.se/PhD\t/;
+  s/doctorat oncogénèse/PhD\t/;
+  s/HDR/HDR\t/;
+  s/HdR/HDR\t/;
+  s/Habil\. Dir\.Recherche/HDR\t/;
+  s/Habilitation à diriger les recherches/HDR\t/;
+  s/Habilitation à Diriger des Recherche/HDR\t/;
+  s/Habilitation à diriger des Recherches/HDR\t/;
+  s/Habilitation à diriger des Rech\./HDR\t/;
+  s/Habilitation à diriger des recherches/HDR\t/;
+  s/Habilitation U\./HDR\t/;
+  s/Habilitation/HDR\t/;
+  s/Habil\./HDR\t/;
+  s/Habilité à la dir\. rech\./HDR\t/;
+  s/MSUCLA/MSc\tUCLA/;
+  s/MSc /MSc\t/;
+  s/MS /MSc\t/;
+  s/MS\t/MSc\t/;
+  s/MS\./MSc\t/;
+  s/M\.Sc\./MSc\t/;
+  s/M\.Sc/MSc\t/;
+  s/M\. Sc\./MSc\t/;
+  s/Master of Sciences/MSc\t/;
+  s/Master of Science/MSc\t/;
+  s/Masters of Sciences/MSc\t/;
+  s/Master Urbanisme/MUP\t/;
+  s/MCityPlann/MUP\t/;
+  s/MCP/MUP\t/;
+  s/MUP/MUP\t/;
+  s/Executive MBA/MBA/;
+  s/EMBA/MBA/;
+  s/MBA/MBA\t/;
+  s/BTS/BTS\t/;
+  s/M\. A\./MA\t/;
+  s/M\.A\./MA\t/;
+  s/\tMA/\tMA\t/;
+  s/Executive MA/MA\t/;
+  s/ME/ME\t/;
+  s/M\.Eco\.Agric\./MEE\t/;
+  s/M\.Eco\./ME\t/;
+  s/M\. Eng\./MEng\t/;
+  s/Master Ing\./MEng\t/;
+  s/Masters of Electrical Engineering/MEE\t/;
+  s/MEE/MEE\t/;
+  s/MSEE/MEE\t/;
+  s/Ma.trise/Maîtr.\t/;
+  s/Ma.tre/Maîtr.\t/;
+  s/Mphil/MPhil\t/;
+  s/M\.Phil\./MPhil\t/;
+  s/MPhil/MPhil\t/;
+  s/MPA/MPA\t/;
+  s/MCP/MCP\t/;
+  s/Master Electronique/MEl\t/;
+  s/MEl/MEl\t/;
+  s/Master Management par les comp.tences et organisations/MM\t/;
+  s/Master of Management/MM\t/;
+  s/Management Paris/\tManagement/;
+  s/DDI/Dipl.\t/;
+  s/3.me Cycle Fac\./Dipl.\t/;
+  s/MIB/MIB\t/;
+  s/Master of Eng in Manufacturing/MEM\t/;
+  s/Master Engin.Science/MEng\t/;
+  s/BA /BA\t/;
+  s/Post Doc//;
+  s/Post PhD//;
+  s/Auditeur/Dipl.\t/;
+  s/Dr Phys\.chim\.biotransformation/PhD\t\tPhysique, chimie, biotransformation/;
+
+  # On nettoye les tab en trop et les ponctutions inutiles
+  s/\t\t\t/\t/g;
+  s/\t\t/\t/g;
+  s/\t,/\t/g;
+  s/\t-/\t/g;
+  s/\t:/\t/g;
+  s/\t\./\t/g;
+  s/(\t)( )+/\t/g;
+  s/\ten /\t/g;
+  s/\tin /\t/g;
+  s/\tès /\t/g;
+  s/\tof /\t/g;
+  s/( )+(\t)/\t/g;
+  
+
+  # On remet dans l'ordre lorsque le diplôme se situe après l'université
+  s/Manag\.Vanderblit/Vanderbilt University\tManagement/;
+  s/AMHERST MA/MA\tAmherst College/;
+  s/Executive Education, Harvard \tBusiness School/MBA\tHarvard/;
+  s/Harvard MPA/MPA\tHarvard/;
+  s/Harvard MA/MA\tHarvard/;
+  s/Advanced Manag\. Program Harvard/Harvard/;
+  s/DEA : ENS/DEA\tENS Ulm/;
+  s/ENS Ulm DEA/DEA\tENS Ulm/;
+  s/ENS Ulm :DEA/DEA\tENS Ulm/;
+  s/ENS Ulm : DEA/DEA\tENS Ulm/;
+  s/ENS Ulm : PhD/PhD\tENS Ulm/;
+  s/ENS Ulm/MSc\tENS Ulm/;
+  s/Ecole Normale Sup.Ulm/MSc\tENS Ulm/;
+  s/\tENS\t/\tENS Ulm/;
+  s/Moscow : ME/ME\tBauman MSTU/;
+  s/Supoptique : Ing\./Ing.\tSupOptique/;
+  s/EP Montr.al Ing\./Ing.\tEPM/;
+  s/EP Montr.al Ing/Ing.\tEPM/;
+  s/EP Montr.al MSc/MSc\tEPM/;
+  s/EP Montr.al MS/MSc\tEPM/;
+  s/MsChicago/MSc\tUniversity of Chicago/;
+  s/Sciences Po/Sciences Po\t/;
+  s/IEP DEA/DEA\tSciences Po/;
+  s/Master AMUR/MUP\tPonts\tMastère AMUR/;
+  s/Master CAR/MSc\tTélécom\tMastère CAR/;
+  s/Mastère SSIR ENST/MSc\tTélécom\tMastère SSIR/;
+  s/KTH Stockholm Master Mech. Eng./MME\tKTH/;
+  s/ESCP-EAP Executive MSc/MSc\tESCP-EAP/;
+  s/Biologie Paris VI/Paris VI\tBiologie/;
+  s/HEC : MS/MSc\tHEC/;
+  s/HEC : MA/MA\tHEC/;
+  s/HEC : MBA/MBA\tHEC/;
+  s/Master HEC Entrepreneurs/ME\tHEC\tHEC-Entrepreneurs /;
+  s/HEC-Entrepreneurs/ME\tHEC\tHEC-Entrepreneurs /;
+  s/Master HEC Finance/ME\tHEC/;
+  s/Strategic Management HEC/HEC\tStrategic Management/;
+  s/Marketing HEC/HEC\tMarketing/;
+  s/Economie EHESS-ENSAE/EHESS\tÉconomie/;
+  s/EHESS : PhD/PhD\tEHESS/;
+  s/EHESS DEA/DEA\tEHESS/;
+  s/EHESS Phd/PhD\tEHESS/;
+  s/ESSEC Mast.re Tehniques Financi.res/ME\tESSEC\tMastère Techniques Financières/;
+  s/ESSEC : MA/MA\tESSEC/;
+  s/ESSEC-MANNHEIM/ESSEC/;
+  s/ESSEC : MBA/MBA\tESSEC/;
+  s/M.decine : Dipl\./Dipl.\tMédecine/;
+  s/Sup.A.ro\. : PhD/PhD\tSUPAERO/;
+  s/INSEAD : MA/MA\tINSEAD/;
+  s/INSEAD : MBA/MBA\tINSEAD/;
+  s/TU Berlin :ME/ME\tTU Berlin/;
+  s/Mast.re Am.nagement et Ma.tr./MUP\t\tMastère Aménagement et Maîtr./;
+  s/Master Droit des affaires Int. & Eur./MIB\t\tMaster Droit des affaires Int. & Eur./;
+  s/Finance LSE/LSE\tFinance/;
+  s/Finance London Business School/London Business School\tFinance/;
+  s/Chimie Organique ENSTA/ENSTA\tChimie organique/;
+  s/Informatique Stanford/Stanford\tInformatique/;
+
+  # On normalise les universités
+  s/Dipl ISUP\t/Dipl.\tUMPC\t/;
+  s/ISUP\t/Dipl.\tUMPC\t/;
+  s/DESIA\t/Dipl.\tSUPAERO\t/;
+  s/IHESI\t/Dipl.\tINHES\t/;
+  s/Ctre Form\.Journaliste\t/Dipl.\tCFJ\t/;
+  s/Collège InterArmées Défense\t/Dipl.\tCollège Interarmées de Défense\t/;
+  s/AFITEP\t/Dipl.\tAFITEP\t/;
+  s/CEDEP cycle 43\t/CEDEP\t/;
+  s/CEDEP\t/Dipl.\tCEDEP\t/;
+  s/Bocconi University Milan/Dipl.\tUniversità Bocconi/;
+  s/Columbia\t/Columbia University\t/;
+  s/EMP Columbia Bus\.School\./Dipl.\tColumbia University/;
+  s/Columbia & sciences Po/Columbia University/;
+  s/Columbia \+ LBS/Columbia University/;
+  s/Columbia University & sciences Po/Columbia University/;
+  s/Columbia University + LBS/Columbia University/;
+  s/CESS ENSAÉ/Dipl.\tENSAE/;
+  s/EAPB Ecole Architecture Paris Belleville/Dipl.\tENSAPB/;
+  s/EDP\/INSEAD/Dipl.\tINSEAD/;
+  s/PSD INSEAD/Dipl.\tINSEAD/;
+  s/INSEAD/Dipl.\tINSEAD/;
+  s/EDP\/INSEAD/Dipl.\tINSEAD/;
+  s/INSEAD/Dipl.\tINSEAD/;
+  s/PSD INSEAD/Dipl.\tINSEAD\tProgramme Supérieur pour Dirigeants/;
+  s/INSEAD - AMP/Dipl.\tINSEAD/;
+  s/INSEAD Executive Program/Dipl.\tINSEAD/;
+  s/IMI Harvard/Dipl.\tHarvard/;
+  s/Advanced Manag\. Program Harvard/MBA\tHarvard/;
+  s/Harvard Business Sch\. Alumnus/Dipl.\tHarvard/;
+  s/Executive Education, Harvard Business School/Dipl.\tHarvard/;
+  s/Harvard/Dipl.\tHarvard/;
+  s/Havard/Harvard/;
+  s/M\. Eng Cornell University/MEng\tCornell/;
+  s/Cornell Ithaca/Cornell/;
+  s/Cornell NY/Cornell/;
+  s/NY\t/NYU\t/;
+  s/New-York/NYU/;
+  s/New York University/NYU/;
+  s/New York/NYU/;
+  s/MS Politecnico di Milano/MSc\tPolitecnico di Milano/;
+  s/\tMilano/\tPolitecnico di Milano/;
+  s/Computer Sc\.MIT/MIT\tComputer science/;
+  s/Techno\.Policy MIT/MIT\tTechno. Policy/;
+  s/NA MIT/MA\tMIT/;
+  s/MIT/Dipl.\tMIT\t/;
+  s/MIT Chemical Engineering/MCE\tMIT/;
+  s/Massuchusetts Institute of Technology/MIT/;
+  s/Massachusetts Institute of Technologie/MIT/;
+  s/Massachusetts Institute of Techn\./MIT/;
+  s/Massachusetts Inst\. of Technology/MIT/;
+  s/Massachusetts Inst of Tech/MIT/;
+  s/Massachusetts/MIT/;
+  s/Msc\.Massachus\./MIT/;
+  s/Sup.A.ro./Ing.\tSUPAERO/;
+  s/Sup.A.ro.\/KTH/Ing.\tSUPAERO/;
+  s/Aéro\./SUPAERO/;
+  s/SUPAEROAstro &EECS/SUPAERO/;
+  s/SUPAERO\/KTH/SUPAERO/;
+  s/Syracuse USA/Dipl.\tSU/;
+  s/EHESS/Dipl.\tEHESS/;
+  s/IHEDN/Dipl.\tIHEDN/;
+  s/IHEDN 26° session/Dipl.\tIHEDN/;
+  s/Business School Dartmouth/Dipl.\tDartmouth College /;
+  s/ENSAE/Dipl.\tENSAE/;
+  s/ENSAE Statisticien économiste/Dipl.\tENSAE/;
+  s/ENSAE Malakoff/Dipl.\tENSAE/;
+  s/\tIllinois\t/\tUniversity of Illinois\t/;
+  s/University of Illinois/Dipl.\tUniversity of Illinois/;
+  s/CEPE/Dipl.\tCEPE/;
+  s/CEPE Ecole Pratique des Hautes Etudes/Dipl.\tCEPE/;
+  s/ECE/Ing.\tECE/;
+  s/Ecole Centrale d’Electronique ECE/Ing.\tECE/;
+  s/Science Stanford/Stanford\tSience/;
+  s/Econom\.Stanford/Stanford\tÉconomie/;
+  s/Electrical Eng Stanford/Stanford\tElectrical engineering/;
+  s/Management a Stanford/Stanford\tManagement/;
+  s/SEP Stanford/Dipl.\Stanford/;
+  s/Stanford SEP/Dipl.\tStanford/;
+  s/Stanford/Dipl.\tStanford/;
+  s/Stanford Executive Program/Dipl.\tStanford/;
+  s/Stanford University/Dipl.\tStanford/;
+  s/Stanford /Stanford\t/;
+  s/Sc\.Po\. Paris/Dipl.\tSciences Po\t/;
+  s/Sc\.Po\. Economie/Dipl.\tSciences Po\t/;
+  s/Sc\.Po\. Gestion et Strat.gie des Entreprises/Dipl.\tSciences Po\tGestion et Stratégie des Entreprises/;
+  s/Sc\.Po\./Dipl.\tSciences Po/;
+  s/Lauréat IEP/Dipl.\tSciences Po/;
+  s/IEP Paris Lic\./Dipl.\tSciences Po/;
+  s/IEP Paris/Dipl.\tSciences Po/;
+  s/IEP/Dipl.\tSciences Po/;
+  s/Auditeur Sc\.Politique/Dipl.\tSciences Po\t/;
+  s/Sciences politiques/Sciences Po/;
+  s/Sc\.Politique/Sciences Po/;
+  s/IAE Paris/MBA\tIAE de Paris/;
+  s/\tIAE\t/\tMBA\tIAE de Paris\t/;
+  s/EPNER/Dipl.\tEPNER/;
+  s/ENSAR/Ing.\tENSAR/;
+  s/Uc.Berkeley/Berkeley/;
+  s/UC Berkeley/Dipl.\tBerkeley/;
+  s/CEIPI/Dipl.\tCEIPI/;
+  s/Institute for Management Development/IMD/;
+  s/\tLausanne/\tUNIL/;
+  s/IMD Lausanne/Dipl.\tUNIL/;
+  s/EP F.d.ration Lausanne/Dipl.\tEPFL/;
+  s/EP F.d.rale Lausanne/Dipl.\tEPFL/;
+  s/cycle postgrade EPFL option Finance/Dipl.\tEPFL\toption Finance/;
+  s/Ecol\. Poly\. F.d.rale Lausanne/Dipl.\tEPFL/;
+  s/EP F.d.rale Lausanne/Dipl.\tEPFL/;
+  s/EPFL G.nie Mécanique/Dipl.\tEPFL\tGénie Mécanique/;
+  s/EP F.d.rale Lausane/Dipl.\tEPFL/;
+  s/Ecole Polytechnique Lausanne/EPFL/;
+  s/ISMCM Saint-Ouen/Dipl.\tISMCM Saint-Ouen/;
+  s/ISCM/ISMCM Saint-Ouen/;
+  s/ENAC/Dipl.\tENAC/;
+  s/HEC\/Ucla/HEC/;
+  s/Mast.re Gestion Financi.re HEC/ME\tHEC\tMastère Gestion Financière/;
+  s/\tHEC/\tDipl.\tHEC/;
+  s/CPA-HEC/HEC/;
+  s/HEC Master Gestion du Changement/ME\tHEC\tMaster Gestion du Changement/;
+  s/HEC Execut\. Management \/ CPA/Dipl.\tHEC/;
+  s/HEC Majeure Finance/Dipl.\tHEC\tMajeure Finance/;
+  s/CESA  Achats HEC Management/Dipl.\tHEC/;
+  s/HEC Entrepreneurs/Dipl.\tHEC/;
+  s/HECc/HEC/;
+  s/HEC\/CPA/HEC/;
+  s/HEC Start\. Management/HEC\tStart. Management/;
+  s/HEC Finance/HEC\tFinance/;
+  s/Centre des Hautes Etudes la Construction/Ing.\tCHEC/;
+  s/CHEC/Ing.\tCHEC/;
+  s/Ecole Air/Dipl.\tÉcole de l\'Air/;
+  s/EAVT/Dipl.\tEAVT/;
+  s/EAVT Ecole architecture Marne La Vall.e/Dipl.\tEAVT/;
+  s/Master ENPC Action publique/M\tPonts\tMaster Action publique/;
+  s/ENPC/Ing.\tPonts/;
+  s/Master P\.C\./MSc\tPonts/;
+  s/P\.C\./Ponts\t/;
+  s/EAPLV Ecole Architecture Paris La Villette/Dipl.\tENSAPLV/;
+  s/EAPLV/Dipl.\tENSAPLV/;
+  s/Cambridge Profic\./Dipl.\tCambridge/;
+  s/London Business School/Dipl.\tLondon Business School/;
+  s/ENSIC/Dipl.\tENSIC/;
+  s/ENSIC Nancy/Ing.\tENSIC/;
+  s/Internat\. Teachers Progr./Dipl.\tITP/;
+  s/Institut Sup.rieur des Affaires/Dipl.\tISA/;
+  s/ISA/Dipl.\tISA/;
+  s/ISAA/Dipl.\tISAA/;
+  s/ENSCP/Ing.\tChimie Paris/;
+  s/Engineer Kentucky/Ing.\tUK/;
+  s/EP Gda.sk Pologne/Dipl.\tUniwersytet Gdański/;
+  s/ESPCI/Ing.\tESPCI/;
+  s/ESPCI Ecole Sup\. Phys\. et Chimie Industrielles/Ing.\tESPCI/;
+  s/ESG/Dipl.\tESG Paris/;
+  s/ESSEC Management g.n.ral/Dipl.\tESSEC/;
+  s/ESSEC/Dipl.\tESSEC/;
+  s/Ecole Nat. Eaux et For.t Nancy/Ing.\tENGREF/;
+  s/Sc\. environnement ENGREF/ENGREF\tSciences environnementales/;
+  s/\tGREF/\tENGREF/;
+  s/du Québec à Montréal/UQÀM/;
+  s/EP Montréal/Dipl.\tEPM/;
+  s/Mast\.Biotechnology Montréal/MB\tEPM/;
+  s/Montréal/EPM/;
+  s/Québec/UQÀM/;
+  s/Ec\.Polyt\.Montreal/EPM/;
+  s/Actuaire/Dipl.\tInstitut des Actuaires/;
+  s/Actuaire IAF-CEA/Dipl.\tInstitut des Actuaires/;
+  s/Actuaire IAF/Dipl.\tInstitut des Actuaires/;
+  s/Actuaire CEA/Dipl.\tInstitut des Actuaires/;
+  s/Actuariat-Iaf/Dipl.\tInstitut des Actuaires/;
+  s/Actuaire qualifi./Dipl.\tInstitut des Actuaires/;
+  s/Institut des Actuaires qualifié/Institut des Actuaires/;
+  s/Institut des Actuaires IAF-/Institut des Actuaires/;
+  s/STEGE MGT GENERAL ESCP-EAP/Dipl.\tESCP-EAP/;
+  s/ESCP-EAP/Dipl.\tESCP-EAP/;
+  s/\tESCP\t/\tESCP-EAP\t/;
+  s/IHEE/Dipl.\tIHEE/;
+  s/ENS G.ographiques/Corps\tGéographes/;
+  s/Ecole Nat. des Sc. G.ographiques/Corps\tGéographes/;
+  s/ENST Bretagne/Ing.\tTélécom Bretagne/;
+  s/Collède des Ing\./CDI/;
+  s/Collège des Ing\./CDI/;
+  s/Collège Ing\./CDI/;
+  s/Collèges des Ing\./CDI/;
+  s/Collège des Ingénieurs/CDI/;
+  s/CDI/Dipl.\tCDI/;
+  s/Ecole Nationale la Magistrature/Dipl.\tENM/;
+  s/ENSTA/Ing.\tENSTA/;
+  s/\tGM\t/\tENSTA\t/;
+  s/ENSP Versailles/Dipl.\tENSP/;
+  s/ENSP/Dipl.\tENSP/;
+  s/Investment Banking Program-Kellog School of Management/Dipl.\tKellogg/;
+  s/IFSBM/Dipl.\tIFSBM/;
+  s/Inst\.Form\. Sup\.Biom.dicale/Dipl.\tIFSBM/;
+  s/EMA/Ing.\tEMA/;
+  s/Ecole Supérieure Electricité/Ing.\tSupélec/;
+  s/ESE/Ing.\tSupélec/;
+  s/Supelec 86 - MBA/Supélec/;
+  s/UCSD/Dipl.\tUCSD\t/;
+  s/UC San Diego/UCSD/;
+  s/San Diego/UCSD/;
+  s/California UCSD/UCSD/;
+  s/ENSAM/Ing.\tENSAM/;
+  s/Arts et Métiers/ENSAM/;
+  s/IFFI/ENSAM\tIFFI/;
+  s/USMC Command & Staff College/MSc\tMCU/;
+  s/University Coll.Londres/Dipl.\tUCL/;
+  s/TU Munich/TU München/;
+  s/TU M.nchen/Dipl.\tTU München/;
+  s/\tMünchen/\tTU München/;
+  s/\tM\.\t/\tMines\t/;
+  s/Mines Paris/Mines/;
+  s/ENSMP/Ing.\tMines/;
+  s/ISIGE/Mines\tISIGE/;
+  s/LSE/Dipl.\tLSE/;
+  s/London School Econ\.& Polit\. Sc\./LSE/;
+  s/London School Economics/LSE/;
+  s/London School of Eco\./LSE/;
+  s/London School of Econ\./LSE/;
+  s/London School of Economics/LSE/;
+  s/Lonson School of Economics/LSE/;
+  s/Chartered Institute of Management  Accountant/M\tCIMA/;
+  s/CFA/Dipl.\tCFA Institute/;
+  s/INAPG/Ing.\tINAPG/;
+  s/Agronome/Ing.\tINAPG/;
+  s/Agro/Ing.\tINAPG/;
+  s/INA PG/INAPG/;
+  s/Naval Postgraduate School/Dipl.\tNPS/;
+  s/ENSSEIHT Informatique/Ing.\tENSEEIHT/;
+  s/ENSEEIHT/Ing.\tENSEEIHT/;
+  s/ENSEEIHT Toulouse/ENSEEIHT/;
+  s/ENA/Dipl.\tENA/;
+  s/Colorado\t/Colorado School of Mines/;
+  s/Colorado Scholl of MInes/Dipl.\tColorado School of Mines/;
+  s/Colorado school of Mines/Dipl.\tColorado School of Mines/;
+  s/Ing RWTH-Aachen/Ing.\tRWTH/;
+  s/Ing  RWTH-Aachen/Ing.\tRWTH/;
+  s/RWTH Aachen/Dipl.\tRWTH/;
+  s/TH Aachen/RWTH/;
+  s/RWTH-Aachen/RWTH/;
+  s/Th Aachen/RWTH/;
+  s/UCLA\t/Dipl.\tUCLA\t/;
+  s/Computer Sc\.Ucla/UCLA/;
+  s/UCLA Anderson/UCLA/;
+  s/Los Angeles/UCLA/;
+  s/Royal College of Art Londres/Dipl.\tRCA/;
+  s/Royal College of Art Londres /Dipl.\tRCA/;
+  s/de Caminos Madrid/UPM/;
+  s/Ingeniero Industrial UPM Madrid/Ing.\tUPM/;
+  s/ETSII Madrid/Dipl.\tUPM/;
+  s/Madrid/Dipl.\tUPM/;
+  s/ENS Cachan/Dipl.\tENS Cachan/;
+  s/\tCachan/\tENS Cachan/;
+  s/ENS CACHAN/ENS Cachan/;
+  s/ENS Cachan Math Appliquée/ENS Cachan\tMathématiques appliquées/;
+  s/Collège Europe Natolin Varsovie/Dipl.\tCollege of Europe/;
+  s/Collège Europ\.Bruges/\tCollege of Europe/;
+  s/New South Wales Sydney Australia/UNSW/;
+  s/New South Wales Sydney Austr\./UNSW/;
+  s/New South Wales/UNSW/;
+  s/Master of Env. Engin. Science UNSW Sydney/MEE\tUNSW/;
+  s/S Sydney/UNSW/;
+  s/Design UNSW/UNSW\tDesign/;
+  s/Interne Chirurgie/Dipl.\tMédecine/;
+  s/X-HEC/X\t/;
+  s/X Chimie Orga/X\tChimie organique/;
+  s/X Physique/Physique/;
+  s/X Math app\./Mathématiques appliquées/;
+  s/Chimie Ec\. Polyt\./X\tChimie/;
+  s/Master X Projet-Innovation-Conception/MSc\tX\tMaster X Projet-Innovation-Conception/;
+  s/Master PIC/M\tX\tMaster PIC/;
+  s/Ec\. Polyt\./X\t/;
+  s/Supoptique/Ing.\tSupOptique/;
+  s/Universiteit/Universiteit Leiden/;
+  s/\tLeiden/\tDipl.\tUniversiteit Leiden/;
+  s/Phys.Théor. ENS Lyon/ENS Lyon\tPhysique théorique/;
+  s/ENS Lyon/Dipl.\tENS Lyon/;
+  s/- U of Michigan/Michigan/;
+  s/Eng Birmingham/University of Birmingham/;
+  s/Imperial Collège/Imperial College/;
+  s/Advanced Mechanical Engin\. , Imperial College Londres/Imperial College\tAdvanced mechanical engineering/;
+  s/Imperial College GB/Imperial College/;
+  s/Boulder/CU/;
+  s/Californie Institute of Technology/CalTech/;
+  s/CIT/CalTech/;
+  s/Carnegie Mellon/CMU/;
+  s/Comput\.Carnégie Mellon Univ/CMU/;
+  s/Caroline du Nord Chapel Hill/Carolina/;
+  s/Ctre Perf\. aux Affaires/CPA de Paris/;
+  s/Centre Perfect\. aux Affaires/CPA de Paris/;
+  s/Centre Perfection\. aux Affaires/CPA de Paris/;
+  s/CPA\t/MBA\tCPA de Paris/;
+  s/CPA 73\/2\t/MBA\tCPA de Paris/;
+  s/CPA Lyon\t/MBA\tCPA de Lyon/;
+  s/CPA Nord\t/MBA\tCPA du Nord/;
+  s/\tChicago/\tUniversity of Chicago/;
+  s/Econom\.Chicago/University of Chicago\tÉconomie/;
+  s/Cleveland/CSU/;
+  s/Architect\.Univers\.Rome/University of Rome\tArchitecture/;
+  s/d'University of Rome/University of Rome/;
+  s/\tUC Davis/\tUC Davis/;
+  s/\tDavis/\tUC Davis/;
+  s/University of California/UCSB/;
+  s/Université Tokyo/Todai/;
+  s/Tokyo/Todai/;
+  s/Université Stuttgart/Universität Stuttgart/;
+  s/\tStuttgart\t/\tUniversität Stuttgart\t/;
+  s/diplomé Fac\. Aéronautique Stuttgart/Universität Stuttgart\tAéronautique/;
+  s/Zürich/Universität Zürich/;
+  s/Zurich/Universität Zürich/;
+  s/Ec\.Polyt\.Universität Zürich/ETH Zürich/;
+  s/Yale/Yale\t/;
+  s/Wisconsin-Madison/UW-Madison/;
+  s/Wisconsin USA/UW-Madison/;
+  s/Wisconsin/UW-Madison/;
+  s/Wharton/The Wharton School/;
+  s/Pennsylvania The Wharton School/The Wharton School/;
+  s/Pennsylvania\t/University of Pennsylvania\t/;
+  s/Washington/University of Washington/;
+  s/Urbana/Urbana University/;
+  s/Stat\.Texas A&M/TAMU/;
+  s/Texas A&M/TAMU/;
+  s/TAMU University/TAMU/;
+  s/Austin/UT Austin/;
+  s/Texas/UT Austin/;
+  s/UBC Canada/UBC/;
+  s/Torino/UNITO/;
+  s/Téléc\./Télécom/;
+  s/ENST\t/Télécom\t/;
+  s/ENST licencié  sciences économiques/Télécom\tLicenci sciences économiques/;
+  s/Southampton/University of Southampton/;
+  s/Nat\. of Singapore/NUS/;
+  s/Singapour/NUS/;
+  s/Kyoto/Kyoto University/;
+  s/Karlsruhe/Universität Karlsruhe/;
+  s/Johns Hopkins/JHU/;
+  s/Sheffield/University of Sheffield/;
+  s/Santa Barbara/UCSB/;
+  s/Salt Lake City/University of Utah/;
+  s/Rotterdam School of Management/RSM/;
+  s/Queen's Canada/Queen's/;
+  s/Purdue/Purdue University/;
+  s/Pompeu Fabra/UPF/;
+  s/Polytech\. Bucarest/Universitatea Politehnica din Bucureşti/;
+  s/Petroleum Engineering - TU Delft/TU Delft\tPetroleum engineering/;
+  s/Paris Paris-Diderot/Paris-Diderot/;
+  s/Watson School of Biological/WSBS/;
+  s/Ottawa/OU/;
+  s/Northwestern University/NU/;
+  s/Northwestern/NU/;
+  s/N\.Dame Indiana/Notre Dame/;
+  s/Moscow/MGU/;
+  s/Mc Gill University/McGill/;
+  s/Maryland/UMCP/;
+  s/Iowa/University of Iowa /;
+  s/Institut Polytechnique Grenoble/Grenoble INP/;
+  s/INPG/Grenoble INP/;
+  s/INPL Institut National Polytechnique Lorraine/INPL/;
+  s/INP Toulouse/INP Toulouse\t/;
+  s/IHM INPT/INP Toulouse\tIHM/;
+  s/ENSPM/ENSPM\t/;
+  s/IFP/ENSPM/;
+  s/Houston/UH/;
+  s/Georgia\t/UGA\t/;
+  s/Finance Princeton/Princeton\tFinance/;
+  s/Elect\.Engineer\.Princeton/Princeton\tElectrical engineering/;
+  s/ENSHG/ENSHMG/;
+  s/Dallas/University of Dallas/;
+  s/British Columbia University/UBC/;
+
+  s/\tSorbonne\t/\tPanthéon-Sorbonne\t/;
+  s/\t1\t/\tPanthéon-Sorbonne\t/;
+  s/Finance Paris I/Panthéon-Sorbonne\tFinance/;
+  s/Sc.Eco.  Paris 1/Panthéon-Sorbonne\tSciences économiques/;
+  s/CAAE \. Paris I/Panthéon-Sorbonne/;
+  s/Paris 1er/Panthéon-Sorbonne/;
+  s/Paris 1 Modélisation Econ\.& Fin\./Panthéon-Sorbonne\tModélisation économie et finance/;
+  s/Paris 1\t/Panthéon-Sorbonne\t/;
+  s/Philo\.Paris I/Panthéon-Sorbonne\tPhilosophie/;
+  s/Paris I\t/Panthéon-Sorbonne\t/;
+  s/Droit Paris 2/Assas\tDroit/;
+  s/Paris 2/Assas/;
+  s/Paris II Panthéon - Assas/Assas/;
+  s/Paris II Panthéon/Assas/;
+  s/Paris-Sorbonne/Paris-Sorbonne\t/;
+  s/Philosophie Paris IV Sorbonne/Paris-Sorbonne\tPhilosophie/;
+  s/Paris 4/Paris-Sorbonne/;
+  s/Paris IV/Paris-Sorbonne\t/;
+  s/Paris 5/Paris-Descartes/;
+  s/Paris V\t/Paris-Descartes\t/;
+  s/Université Paris V/Paris-Descartes/;
+  s/UMPC/UMPC\t/;
+  s/et Habil\. à diriger les Rech\. Paris 6/UMPC/;
+  s/Stat. Paris 6/UMPC\tStatistiques/;
+  s/Sc\.des Matériaux Paris VI/UMPC\tScience des matériaux/;
+  s/Probabilités Paris VI/UMPC\tProbabilités/;
+  s/Probabilités et Finanace Paris VI/UMPC\tProbabilités et finance/;
+  s/Probab\. & Applications Paris 6/UMPC\tProbabilités et applications/;
+  s/Paris 6 Jussieu/UMPC/;
+  s/Paris 6/UMPC\t/;
+  s/Paris VI Pierre & Marie Curie/UMPC/;
+  s/paris VI\t/UMPC\t/;
+  s/Paris VI\t/UMPC\t/;
+  s/Paris VI Ecologie/UMPC\tÉcologie/;
+  s/ParisVI Proba\. & Finance/UMPC\tProbabilité et finance/;
+  s/Paris VI Finance/UMPC\tFinance/;
+  s/Paris VI Physique quantique/UMPC\tPhysique quantique/;
+  s/Paris VI Spéc\.Physique des Solides/UMPC\tPhysique des Solides/;
+  s/2 Proba\. & Finance Paris VI/UMPC\tProbabilité et finance/;
+  s/Biologie Paris VI/UMPC\tBiologie/;
+  s/CPM/UMPC/;
+  s/IARFAG Paris VI/UMPC\tInformatique/;
+  s/IARFAG/UMPC\tInformatique/;
+  s/Informatique - Paris 6/UMPC\tInformatique/;
+  s/Analyse numérique Paris VI/UMPC\tAnalyse numérique/;
+  s/\tParis\t/\tUMPC\t/;
+  s/TACS Dipl\./UMPC\tMaster Techniques Avancées en Calcul des Structures/;
+  s/Informatique - UMPC/UMPC\tInformatique/;
+  s/Analyse numérique UMPC/UMPC\tAnalyse numérique/;
+  s/à diriger les Rech\. UMPC/UMPC/;
+  s/2 Proba\. & Finance UMPC/UMPC\tProbabilité et finance/;
+  s/Japonais Paris VII/Paris-Diderot\tJaponais/;
+  s/Jussieu Paris 7/Paris-Diderot/;
+  s/Jussieu/Paris-Diderot/;
+  s/Math\. Appliquées Paris VII/Paris-Diderot\tMathématiques appliquées/;
+  s/Télédétection Paris VII/Paris-Diderot\tTélédétection/;
+  s/Physique des Solides  Paris VII/Paris-Diderot\tPhysique des solides/;
+  s/Paris 7/Paris-Diderot/;
+  s/Paris VII\t/Paris-Diderot\t/;
+  s/Univers\.Paris VII Math\./Paris-Diderot\tMathématiques/;
+  s/Télécom Paris-Diderot/Paris-Diderot/;
+  s/Paris Paris-Diderot/Paris-Diderot/;
+  s/Paris 8/Vincennes-Saint-Denis/;
+  s/ANLA Paris IX/Dauphine/;
+  s/Economie Paris Dauphine/Dauphine\tÉconomie/;
+  s/Economie Ind. Paris IX/Dauphine\tÉconomie/;
+  s/Economie Ind. Paris Dauphine/Dauphine\tÉconomie/;
+  s/Paris 9/Dauphine/;
+  s/Paris Dauphine/Dauphine/;
+  s/Paris IX/Dauphine/;
+  s/Sc\.Econ\. Dauphine/Dauphine\tÉconomie/;
+  s/Gestion Publique Dauphine/Dauphine\tGestion publique/;
+  s/Economie ind\. Dauphine/Dauphine\tÉconomie/;
+  s/Paris X Philo. Esthétique/Nanterre\tPhilosophie/;
+  s/Paris X\t/Nanterre/;
+  s/Paris 10/Nanterre/;
+  s/Physique Paris XI/Paris-Sud\tPhysique/;
+  s/écologie Paris XI/Paris-Sud\tÉcologie/;
+  s/Univers\. Paris Sud/Paris-Sud/;
+  s/Paris XI\t/M\tParis-Sud\t/;
+  s/Paris XI Electronique/Paris-Sud\tÉlectronique/;
+  s/Master Paris 11/M\tParis-Sud/;
+  s/Master  Paris 11/M\tParis-Sud/;
+  s/écologie Paris XI/Paris-Sud\tÉcologie/;
+  s/ATS Orsay/Paris-Sud/;
+  s/Paris 11 Orsay/Paris-Sud/;
+  s/Paris 11/Paris-Sud/;
+  s/paris 11/Paris-Sud/;
+  s/Orsay/Paris-Sud/;
+  s/Santé Publique  Paris Sud/Paris-Sud\tSanté publique/;
+  s/Physique XI/Paris-Sud\tPhysique/;
+  s/Paris Paris-Sud/Paris-Sud/;
+  s/Droit des Affaires  Paris 12/Paris-Val de Marne\tDroit des affaires/;
+  s/Paris 12/Paris-Val de Marne/;
+  s/Paris XII\t/Paris-Val de Marne\t/;
+  s/IUP Paris-Val de Marne/Paris-Val de Marne/;
+  s/Paris 13/Paris-Nord/;
+  s/Paris XIII/Paris-Nord/;
+  s/Aix Marseille II/Université de Provence/;
+  s/Université Lyon I/Université Claude Bernard/;
+  s/Lyon I/Université Claude Bernard/;
+  s/Paul-Sabatier/Université Paul-Sabatier/;
+  s/P\.Sabatier/Université Paul-Sabatier/;
+  s/ECP/Centrale Paris/;
+  s/Ecole Centrale/Centrale Paris/;
+  s/Catolica Chile/PUC/;
+  s/Catalunya/UOC/;
+  s/Californie Irvine/UCI/;
+  s/Californie/UCSD/;
+
+  s/Master Adm. des Entreprises/MBA\t\tMaster Administration des Entreprises/;
+  s/Master P.trole Engineering/MSc\t\tMaster en Pétrole/;
+  s/Master of Space System Engineering/MSc\t\tMaster of Space System Engineering/;
+  s/Master d\'Histoire/M\t\tMastère d\'Histoire/;
+  s/Master Hydraulique/M\t\tMastère Hydraulique/;
+  s/Master Aérospace/M\t\tMastère Aérospace/;
+  s/\tUrbanisme\t/\t\tUrbanisme\t/;
+  s/3e c\.Urbanisme/\tUrbanisme/;
+  s/Acoustique musicale/\tAcoustique musicale/;
+  s/Acoustique\t/\tAcoustique/;
+  s/Aéro\.Astro &EECS/\tAéronautique et Astronomie/;
+  s/Algorithmique/\tAlgorithmique/;
+  s/Anal\. Modél\.Syst\. Biologi\./\tAnalyse et modélisation sytématique en biologie/;
+  s/Anal\.& Polit\.Economique/\tAnalyse et politique économique/;
+  s/Analyse & Modélisation/\tAnalyse et modélisation/;
+  s/Analyse & Polit\. Econom\./\tAnalyse et politique économique/;
+  s/Analyse & Polit\.Eco\./\tAnalyse et politique économique/;
+  s/Analyse & Politique Eco\./\tAnalyse et politique économique/;
+  s/Analyse & Politique Econ\./\tAnalyse et politique économique/;
+  s/Analyse & Politique Economiques/\tAnalyse et politique économique/;
+  s/Analyse donnée/\tAnalyse de données/;
+  s/Analyse Economique/\tAnalyse économique/;
+  s/Analyse et Politique Economiques/\tAnalyse et politique économique/;
+  s/Analyse Industr\./\tAnalyse industrielle/;
+  s/Analyse Numérique/\tAnalyse numérique/;
+  s/Arabe Littéral/\tArabe littéral/;
+  s/Astrophys\./\tAstrophysique/;
+  s/Base Fond\. Oncogenèse/\tBase fondamentale de l'oncogenèse/;
+  s/Bases fondamentales Oncogénèse/\tBase fondamentale de l'oncogenèse/;
+  s/Biologie marine/\tBiologie marine/;
+  s/Biologie moléculaire et céllulaire végétale/\tBiologie moléculaire et céllulaire végétale/;
+  s/Bio. Moléculaire/\tBiologie moléculaire/;
+  s/biologie moléculaire/\tBiologie moléculaire/;
+  s/Biochimie/\tBiochimie/;
+  s/Biochimic/\tBiochimie/;
+  s/Microbiologie/\tMicrobiologie/;
+  s/Biologie/\tBiologie/;
+  s/biologie/\tBiologie/;
+  s/biomécanique/\tBiomécanique/;
+  s/Biophysique/\tBiophysique/;
+  s/Business/\tBusiness/;
+  s/Cancérologie/\tCancérologie/;
+  s/CEA/\tCEA/;
+  s/Champs Particules Matières/\tChamps particules matières/;
+  s/Champs Particules Matière/\tChamps particules matières/;
+  s/Chemical Engineering/\tChemical engineering/;
+  s/Chem.Eng./\tChemical engineering/;
+  s/\tChimie\t/\t\tChimie\t/;
+  s/Chimie appliquée/\tChimie appliquée/;
+  s/Chimie moléculaire/\tChimie moléculaire/;
+  s/\tChimie Moléculaire/\t\tChimie moléculaire/;
+  s/Multinational Chimie Moléculaire/\tChimie moléculaire/;
+  s/Chimie Organique/\t\tChimie organique/;
+  s/Chimie Organique Ing./\tChimie organique/;
+  s/Computer Sc\.Dipl\./\tComputer science/;
+  s/Computer Sciences/\tComputer science/;
+  s/Cryptographe\/Algorighmie/\tCryptographe et algorithmique/;
+  s/algorithmique/\tAlgorithmique/;
+  s/Astro\., Géophysique & Techn\. Spatiales/\tAstronomie, géophysique et technologies spatiales/;
+  s/Astrophysique/\tAstrophysique/;
+  s/Automatique/\tAutomatique/;
+  s/Ecologie/\tÉcologie/;
+  s/Master Histoire/M\t\tHistoire/;
+  s/Affaires Internationales/\tAffaires internationales/;
+  s/Aménagement & Urbanisme/\tAménagement et urbanisme/;
+  s/Chinois/\tChinois/;
+  s/cryptographie/\tCryptographie/;
+  s/d'Histoire/\tHistoire/;
+  s/Dépollution des Sols/\tDépollution des sols/;
+  s/dével. culturel et dir. projet/\tDéveloppement culturel et direction de projets/;
+  s/DIC/\tDIC/;
+  s/Virologie/\tVirologie/;
+  s/Virologie Moléculaire/\tVirologie moléculaire/;
+  s/Transportation/\tTransportation/;
+  s/Transports/\tTransports/;
+  s/Transport\t/\tTransport/;
+  s/Trait. Signal/\tTrait\. Signal/;
+  s/Toxicologie/\tToxicologie/;
+  s/Théorie Information/\tThéorie Information/;
+  s/Théologie Catholique/\tThéologie Catholique/;
+  s/Théologie cath./\tThéologie cath\./;
+  s/Théologie\t/\tThéologie\t/;
+  s/Théolog\./\tThéolog\./;
+  s/Télécom\. Numériques/\tTélécom\. Numériques/;
+  s/Technologie Management/\tTechnologie Management/;
+  s/Techno\.Policy Dipl\./\tTechno\.Policy Dipl\./;
+  s/Technique agricole/\tTechnique agricole/;
+  s/Syst\. énergétiques/\tSyst\. énergétiques/;
+  s/Strat\. des Org\./\tStrat\. des Org\./;
+  s/Strat\. & Marketing/\tStrat\. & Marketing/;
+  s/Statistiques/\tStatistiques/;
+  s/Statistique et modèles aléatoires écon\. et finance/\tStatistique et modèles aléatoires écon\. et finance/;
+  s/Statist\./\tStatist\./;
+  s/Stat\.& Santé/\tStat\.& Santé/;
+  s/\tSt\.//;
+  s/spécialisé sécurité des syst\. inform\./\tspécialisé sécurité des syst\. inform\./;
+  s/Solides Structures & Syst\. Mécaniques/\tSolides Structures & Syst\. Mécaniques/;
+  s/Sociologie/\tSociologie/;
+  s/Signal et Communications Londres/\tSignal et Communications Londres/;
+  s/Sciences théoriques/\tSciences théoriques/;
+  s/Sciences Physiques/\tSciences Physiques/;
+  s/Sciences des Sols/\tSciences des Sols/;
+  s/Sciences Cognitives/\tSciences Cognitives/;
+  s/Sciences & Techniques  environnement/\tSciences & Techniques  environnement/;
+  s/Science Dipl\./\tScience/;
+  s/Science\t/\tSciences/;
+  s/Sciences\t/\tSciences/;
+  s/Sc\.Phys\. Théorique/\tPhysique théorique/;
+  s/Sc\.Phys\.\t/\tPhysique/;
+  s/Sc\.Natur\./\tSciences naturelles/;
+  s/Sc\.Microbio\./\tMicrobiologie/;
+  s/Sc\.Math\. Appliquées/\tMathématiques appliquées/;
+  s/Sc\.Math\.\t/\tMathématiques\t/;
+  s/Sc\.Info\.Géographique/\tInformatique géographique/;
+  s/Sc\.Hum\./\tScience humaine/;
+  s/Sc\.Gestion/\tGestion/;
+  s/Macroéconomie/\tMacroéconomie/;
+  s/Math\. Appliquées aux Sc\. Eco\./\tÉconomie/;
+  s/Sc.Econom./\tÉconomie/;
+  s/Sc\.Econ\. Finance/\tÉconomie et finance/;
+  s/Sc\.Econ\.\t/\tÉconomie\t/;
+  s/Sc\.Eco\.Internat\./\tÉconomie/;
+  s/Sc\.Eco\./\tÉconomie/;
+  s/Sc\.Eco\t/\tÉconomie\t/;
+  s/Sc\.du Bois/\tScience du bois/;
+  s/Sc\.des Matériaux/\tSciences des matériaux/;
+  s/Sc\.de la Vie/\tSciences de la vie/;
+  s/Sc\.de l'Organisation/\tScience de l'organisation/;
+  s/Sc\.de l'Eau 1994/\tScience de l'eau/;
+  s/Sc\.de l'Eau\t/\tScience de l'eau\t/;
+  s/Sc.Cognitives/\tSciences cognitives/;
+  s/Sc\.Chim\./\tChimie/;
+  s/Sc\.Appl\./\tScience appliquées/;
+  s/Sc\. Physiques Option Chimie/\tPhysique, chimie/;
+  s/Sc\. Phy\./\tPhysique/;
+  s/Sc\. Micro/\t/;
+  s/Sc\. matériaux/\tSciences des matériaux/;
+  s/Sc\. la Vie/\tSciences de la vie/;
+  s/Sc\. Informatique\/Micro-électronique/\tInformatique, micro-électronique/;
+  s/Sc\. Immunologie/\tImmunologie/;
+  s/Sc\. Histor\. et Philolog\./\tHistoire et philologie/;
+  s/Sc\. forestières/\tSciences forestières/;
+  s/Sc\. et Tech\. Environ\./\tTechnique environnementale/;
+  s/Sc\. Eco/\tÉconomie/;
+  s/Sc\. Cognitives/\tSciences cognitives/;
+  s/Sc\. biomédicales/\tSciences biomédicales/;
+  s/Sc\. Bactériologie/\tBactériologie/;
+  s/Sc\. & Génie Matériaux/\tGénie des matériaux/;
+  s/Sc\. & Génie des Matériaux/\tGénie des matériaux/;
+  s/Management Sc\./\tManagement des sciences/;
+  s/Sc\.\t/\tSciences\t/;
+  s/Sc Géodésie/\tGéodésie/;
+  s/Robotique/\tRobotique/;
+  s/retr\.Aérospatiale/\tAérospatiale/;
+  s/Réseaux/\tRéseaux/;
+  s/Rech\.Opérationnelle/\tRecherche opérationnelle/;
+  s/Rech\.Opér\./\tRecherche opérationnelle/;
+  s/Public Policy/\tPublic Policy/;
+  s/Psychopathologie/\tPsychopathologie/;
+  s/psychologie/\tPsychologie/;
+  s/Programmation/\tProgrammation/;
+  s/Processus stochastiques/\tProcessus stochastiques/;
+  s/Processus Stochastiques/\tProcessus stochastiques/;
+  s/Génie Procédés/\tGénie des procédés/;
+  s/Génie des Procédés/\tGénie des procédés/;
+  s/\tProcédés/\t\tProcédés/;
+  s/Probalilité & Finance/\tProbalilité & Finance/;
+  s/Probabilités Finance/\tProbabilités Finance/;
+  s/Probabilités et Applications/\tProbabilités et Applications/;
+  s/Probabilités\t/\tProbabilités\t/;
+  s/Physique, chimie, biotransformation/\tPhysique, chimie, biotransformation/;
+  s/Physique Théorique/\tPhysique théorique/;
+  s/Physique Solides/\tPhysique des solides/;
+  s/Physique Quantique/\tPhysique quantique/;
+  s/Physique nucléaire/\tPhysique nucléaire/;
+  s/Physique Nucléaire/\tPhysique nucléaire/;
+  s/Phys\.Nucléaire/\tPhysique nucléaire/;
+  s/Physique expérimentale/\tPhysique expérimentale/;
+  s/Physique du solide/\tPhysique des solides/;
+  s/Physique des Solides/\tPhysique des solides/;
+  s/Physique des Lasers/\tPhysique des lasers/;
+  s/Physique Chimie des matériaux/\tPhysique et chimie des matériaux/;
+  s/Physique\t/\tPhysique\t/;
+  s/Phys\.Théor\. Dipl\./\tPhysique théorique/;
+  s/Phys\.Théor\./\tPhysique théorique/;
+  s/Phys\.Réact\./\tPhysique des réacteurs/;
+  s/Phys\.Quantique/\tPhysique quantique/;
+  s/Phys\.Plasmas Spatiaux/\tPhysique des plasmas spatiaux/;
+  s/Phys\.Mathématiques/\tPhysiques mathématiques/;
+  s/Phys\.des Solides/\tPhysique des solides/;
+  s/Phys\. Théor\./\tPhysique théorique/;
+  s/Phys\. Réacteurs/\tPhysique des réacteurs/;
+  s/Phys\. Quantique/\tPhysique quantique/;
+  s/Géodynamique & Phys\./\tGéodynamique & physique/;
+  s/Phys\.Solid/\t\tPhysique des solides/;
+  s/Phys\./\tPhysique/;
+  s/Phys des Solides/\tPhysique des solides/;
+  s/philosophie et théologie/\tPhilosophie et théologie/;
+  s/Philosophie/\tPhilosophie/;
+  s/Philo\.et Eco\. Londres/\tPhilosophie et économie/;
+  s/Pharmacochimie Mol\.expérim\.et Métabolisme/\tPharmacochimie moléculaire expérimentales et métabolisme/;
+  s/Pharmaco\.& Biol\.Cellulaire/\tPharmacologie et biologie cellulaire/;
+  s/Pharmacolog\./\tPharmacologie/;
+  s/Particules & Matière/\tParticules et matières/;
+  s/Organisation et Pilotage Syst\. Product\. Indust\./\tOrganisation et pilotage syst. Product. Indust./;
+  s/Organisation & Syst\.Prod\./\tOrganisation et système de production/;
+  s/Russe/\tRusse/;
+  s/Polit\.Eco\.& Soc\./\tPolitique économique et sociale/;
+  s/Physique des Particules CNRS-CERN/\tPhysique des Particules CNRS-CERN/;
+  s/Physique M/\tPhysique moléculaire/;
+  s/Org\. Production et Entreprise/\tOrganisation production et entreprise/;
+  s/Org\. et Pilotage des Syst\. product\./\tOrganisation et pilotage des systèmes production/;
+  s/\tOptique/\t\tOptique/;
+  s/Océanographie/\tOcéanographie/;
+  s/océanologie/\tOcéanographie/;
+  s/Océano\./\tOcéanographie/;
+  s/Nucl\. Eng/\tNuclear engineering/;
+  s/Neurosciences/\tNeurosciences/;
+  s/Neuro/\tNeurosciences/;
+  s/Multinational Chimie molécullaire/\tChimie molécullaire/;
+  s/Multinational\t//;
+  s/Morphol\.Math\./\tMorphologie mathématiques/;
+  s/Modélisation Stochastique et Statistique/\tModélisation stochastique et statistique/;
+  s/Modèl\.Stochastiq\./\tModélisation stochastique/;
+  s/Milieux Coralliens/\tMilieux coralliens/;
+  s/Microélect\./\tMicroélectronique/;
+  s/Microéconomie/\tMicroéconomie/;
+  s/méthodes physiques télédétection/\tMéthodes physiques télédétection/;
+  s/Météorologie/\tMétéorologie/;
+  s/Médiateur Judiciaire et conventionnelle/\tMédiateur judiciaire et conventionnelle/;
+  s/Mechanical Engineering/\tMechanical Engineering/;
+  s/Mécanique\/Sc\. Matériaux/\tMécanique science des matériaux/;
+  s/Mécanique Théorique/\tMécanique théorique/;
+  s/Mécanique Fluides/\tMécanique fluides/;
+  s/Mécanique\t/\tMécanique\t/;
+  s/Méca Fluid\.Théor\./\tMécanique des fluides théoriques/;
+  s/Méc\.des Fluides/\tMécanique des fluides/;
+  s/Maths Financières/\tMathématiques financières/;
+  s/Maths Appl\.à l'Economie/\tMathématiques appliquées à l'économie/;
+  s/Mathématiques/\tMathématiques/;
+  s/Mathématique/\tMathématiques/;
+  s/Mathematics/\tMathématiques/;
+  s/Maths\t/\tMathématiques\t/;
+  s/Math\.Appliquées/\tMathématiques appliquées/;
+  s/Math\.Appliq\./\tMathématiques appliquées/;
+  s/Math\.Appl\./\tMathématiques appliquées/;
+  s/Math\. Stat\./\tMathématiques statistiques/;
+  s/Math\. Pures/\tMathématiques pures/;
+  s/Math\. Appliqués/\tMathématiques appliquées/;
+  s/Math\. Appliquées et Calcul Scient\./\tMathématiques appliquées et calcul scientifique/;
+  s/Math\. Appliquées/\tMathématiques appliquées/;
+  s/Math\. appli\. Sci\. homme/\tMathématiques appliquées aux sciences humaines/;
+  s/Informatique Math\.& Appl\./\tInformatique et mathématiques appliquées/;
+  s/\tinformatique\t/\t\tInformatique\t/;
+  s/Informatique Math\. et Appli\./\tInformatique et mathématiques appliquées/;
+  s/Math\./\tMathématiques/;
+  s/Nepali-Tibétain/\tNepali-Tibétain/;
+  s/MVA/\tMathématiques vision apprentissage/;
+  s/MMME//;
+  s/OJME//;
+  s/\tMicro\t/\t\tMicro\t/;
+  s/Médec\.AIHP/\Médecine/;
+  s/\tMarketing\t/\t\tMarketing\t/;
+  s/Lt\. Et\. Sup\. Banq\./\tLt. Et. Sup. Banq./;
+  s/Management Aéroportuaire/\tManagement Aéroportuaire/;
+  s/Logistique/\tLogistique/;
+  s/Lettres modernes/\tLettres modernes/;
+  s/Lettres Hist\. Art/\tLettres histoire de l'art/;
+  s/lettres classiques/\tLettres classiques/;
+  s/Lettres Anglais/\tLettres Anglais/;
+  s/Lettres\t/\tLettres\t/;
+  s/LCO//;
+  s/Laser & Matière/\tLaser & Matière/;
+  s/Langues Orientales/\tLangues orientales/;
+  s/Langues Orient\./\tLangues orientales/;
+  s/Intelligence Artificielle/\tIntelligence artificielle/;
+  s/Ingenierie & Gestion/\tIngenierie & gestion/;
+  s/Informatique Fondamentale/\tInformatique fondamentale/;
+  s/Informatique Dipl\./\tInformatique/;
+  s/Informatique  Grenoble/\tInformatique/;
+  s/\tInformatique\t/\t\tInformatique\t/;
+  s/Information theory/\tInformation theory/;
+  s/Industrial Design Eng\./\tIndustrial Design Engineering/;
+  s/Immunologie/\tImmunologie/;
+  s/Immunology/\tImmunologie/;
+  s/Images Synthèse/\tImages synthèse/;
+  s/hydrologie-hydrogéologie/\thydrologie-hydrogéologie/;
+  s/Hydrologie/\tHydrologie/;
+  s/Hydrogéologie/\tHydrogéologie/;
+  s/Hydrodynamique/\tHydrodynamique/;
+  s/Histoire, Anglais, Lettres classiques & modernes/\tHistoire, Anglais, Lettres classiques & modernes/;
+  s/Histoire Droit/\tHistoire Droit/;
+  s/\tHistoire\t/\t\tHistoire\t/;
+  s/Hist\.de l'Art/\tHistoire l'art/;
+  s/HIST PHILOSOPHIE/\tHistoire et philosophie/;
+  s/HH GG/\tHistoire et géographie/;
+  s/Gestion scientifique/\tGestion scientifique/;
+  s/Gestion des Ress\. Naturelles Renouvelables/\tGestion des ressources naturelles renouvelables/;
+  s/\tGestion\t/\t\tGestion\t/;
+  s/Géophys\./\tGéophysique/;
+  s/Géographie/\tGéographie/;
+  s/Génie Electrique/\tGénie électrique/;
+  s/Génie Chimique/\tGénie chimique/;
+  s/Génie Atomique/\tGénie atomique/;
+  s/\tGénie\t/\t\tGénie\t/;
+  s/Génie civil/\tGénie civil/;
+  s/Génétique/\tGénétique/;
+  s/Finance Monnaie/\tFinance Monnaie/;
+  s/Finance Marché/\tFinance Marché/;
+  s/Finance et probabilité/\tFinance et probabilité/;
+  s/Finance et Monnaie/\tFinance et Monnaie/;
+  s/Finance Dipl\./\tFinance/;
+  s/Finance and Economics Londres/\tFinance and Economics/;
+  s/\tFinance\t/\t\tFinance\t/;
+  s/Expert Compt\./\tExpertise comptable/;
+  s/Etudes Latines/\tEtudes latines/;
+  s/études extrême orientales/\tÉtudes extrême orientales/;
+  s/et PhD\t//;
+  s/et HDR\t//;
+  s/Epidémiologie/\tÉpidémiologie/;
+  s/Environnement Marin/\tEnvironnement marin/;
+  s/\tEnvironnement\t/\t\tEnvironnement\t/;
+  s/Energétique/\tÉnergétique/;
+  s/Electronique/\tÉlectronique/;
+  s/Electron\./\tÉlectronique/;
+  s/Electrical Engineering/\tElectrical Engineering/;
+  s/Electrical Engin\. & Computer/\tElectrical engineering & Computer science/;
+  s/Electrical Eng Dipl\./\tElectrical engineering/;
+  s/Educateur spécialisé/\tÉducateur spécialisé/;
+  s/Économiee\t/\tÉconomie\t/;
+  s/Economie Monétaire & Bancaire/\tÉconomie monétaire & bancaire/;
+  s/Economie Internationale/\tÉconomie internationale/;
+  s/Economie innovation/\tÉconomie innovation/;
+  s/Economie Industrielle/\tÉconomie industrielle/;
+  s/Economie Ind\./\tÉconomie industrielle/;
+  s/Economie et Finance/\tÉconomie et fnance/;
+  s/Economie Environnement/\tÉconomie environnementale/;
+  s/Economie Envir\. et Ress\. Nat\./\tÉconomie environnementale et ressources naturelles/;
+  s/Economie du Dévelop\./\tÉconomie du développement/;
+  s/Economie Dipl\./\tÉconomie/;
+  s/Economie Développement/\tÉconomie développement/;
+  s/Economie des Institutions/\tÉconomie des institutions/;
+  s/Economie & Finance Internat./\tÉconomie & finance internationale/;
+  s/Economie\t/\tÉconomie\t/;
+  s/Econométrie/\tÉconométrie/;
+  s/Econom\.Dipl\./\tÉconométrie/;
+  s/Econ\.Po\./\tÉconomie politique/;
+  s/Econ\.Industrielle/\tÉconomie industrielle/;
+  s/Econ\.Appliquée/\tÉconomie appliquée/;
+  s/Econ\.& Finance Internat\./\tÉconomie & finance internationale/;
+  s/Econ\. & Finance/\tÉconomie & finance/;
+  s/Econ\.\t/\tÉconomie\t/;
+  s/écologie M/\tÉcologie/;
+  s/Eco\.Rech\.Dévelop\./\tÉconomie recherche et développement/;
+  s/Eco\.Appliquée/\tÉconomie appliquée/;
+  s/Eco\. Enviro\. & Ress\. Humaines/\tÉconomie environnementale & ressource humaines/;
+  s/Eco Finance Internationale/\tÉconomie finance internationale/;
+  s/Droit Public/\tDroit Public/;
+  s/Droit des affaires/\tDroit des affaires/;
+  s/Droit\t/\tDroit\t/;
+  s/INRIA/\tINRIA/;
+  s/\tInformatique\t/\t\tInformatique\t/;
+  s/Ecotoxicologie/\tEcotoxicologie/;
+  s/Droit public/\tDroit public/;
+  s/Droit des Affaires/\tDroit des Affaires/;
+  s/Anal\.Numér\./\tAnalyse numérique/;
+  s/& Gestion Energie/\tGestion de l'énergie/;
+  s/droit/\tdroit/;
+
+  # On nettoye à la fin
+  s/\tSE\t/\t/;
+  s/rer\.Nat\.//;
+  s/Un\. Dipl\.\t//;
+  s/Dipl\. Dipl\./Dipl./;
+  s/Dipl\.Dipl\./Dipl./;
+  s/Ing Dipl\./Ing./;
+  s/Ing Ing\./Ing./;
+  s/Sc\.Dipl\.//;
+  s/\t2005\t//;
+  s/(Dipl\.)(\tDipl\.)+/Dipl./;
+  s/(Ing\.)(\tDipl\.)+/Ing./;
+  s/(Corps)(\tDipl\.)+/Corps/;
+  s/(MSc)(\tDipl\.)+/MSc/;
+  s/(PhD)(\tDipl\.)+/PhD/;
+  s/(DEA)(\tDipl\.)+/DEA/;
+  s/(ME)(\tDipl\.)+/ME/;
+  s/(MBA)(\tDipl\.)+/MBA/;
+  s/(MPA)(\tDipl\.)+/MPA/;
+  s/(Lic\.)(\tDipl\.)+/Lic./;
+  s/(MIA)(\tDipl\.)+/MIA/;
+  s/(Agr\.)(\tDipl\.)+/Agr./;
+  s/(CAPES)(\tDipl\.)+/CAPES/;
+  s/(DESS)(\tDipl\.)+/DESS/;
+  s/(BTS)(\tDipl\.)+/BTS/;
+  s/(MA)(\tDipl\.)+/MA/;
+  s/(Maîtr\.)(\tDipl\.)+/Maîtr./;
+  s/(HDR)(\tDipl\.)+/HDR/;
+  s/(DEUG)(\tDipl\.)+/DEUG/;
+  s/(MEE)(\tDipl\.)+/MEE/;
+  s/(MPhil)(\tDipl\.)+/MPhil/;
+  s/(MUP)(\tDipl\.)+/MUP/;
+  s/(MME)(\tDipl\.)+/MME/;
+  s/(MCP)(\tDipl\.)+/MCP/;
+  s/(BA)(\tDipl\.)+/BA/;
+  s/(MEl)(\tDipl\.)+/MEl/;
+  s/(MM)(\tDipl\.)+/MM/;
+  s/(MIB)(\tDipl\.)+/MIB/;
+  s/(MC)(\tDipl\.)+/MC/;
+  s/(MEM)(\tDipl\.)+/MEM/;
+  s/(MEng)(\tDipl\.)+/MEng/;
+  s/(MCE)(\tDipl\.)+/MCE/;
+  s/(M)(\tDipl\.)+/M/;
+  s/(MMS)(\tDipl\.)+/MMS/;
+  s/(MB)(\tDipl\.)+/MB/;
+  s/(MiF)(\tDipl\.)+/MiF/;
+  s/Ing\.\tPhD/Ing.\t\t/;
+  s/PhD\tPhD/PhD\t\t/;
+  s/MSc\tMSc/MSc/;
+  s/DEA\tMSc/DEA/;
+  s/DEA\tMSc/DEA/;
+  s/DEA\tMSc/DEA/;
+  s/PhD\tMSc/PhD/;
+  s/Dipl\.\tME/ME/;
+  s/MBA\tMBA/MBA/;
+  s/DEA\tM\t/DEA\t/;
+  s/PhD\tM\t/PhD\t/;
+  s/MSc\tMBA/MBA/;
+  s/PhD\tHDR/PhD/;
+  s/(Ing\.\t)+(Ing\.)/Ing./;
+  s/PhD\tIng/PhD/;
+  s/PhD\tIng\./PhD/;
+  s/MBA\tIng\./MBA/;
+  s/MBA\tMA/MBA/;
+  s/PhD\./PhD/;
+  s/Dipl\.\tIng\./Ing./;
+  s/MSc\tIng\./MSc/;
+  s/MIB\tIng\./MIB/;
+
+  s/Université//g;
+  s/université//g;
+  s/Univers\.//g;
+  s/Sc\.\t//g;
+  s/Sc\. \t//g;
+  s/Paul-Sabatier/Université Paul-Sabatier/;
+  s/de Provence/Université de Provence/;
+  s/Jean-Moulin/Université Jean-Moulin/;
+  s/Claude Bernard/Université Claude Bernard/;
+  s/de Rennes/Université de Rennes 1/;
+  s/MIT Institute of Technology/MIT/;
+  s/London Royaume uni//;
+  s/\tLondon\t//;
+  s/\tGrenoble\t//;
+  s/ENS UlmAE/ENSAE/;
+
+  s/\t  /\t/g;
+  s/\t /\t/g;
+  s/\t,/\t/g;
+  s/\t-/\t/g;
+  s/\t:/\t/g;
+  s/\t\./\t/g;
+  s/\t  /\t/g;
+  s/\t /\t/g;
+  s/  \t/\t/g;
+  s/ \t/\t/g;
+  s/London\tBusiness School/London Business School/;
+  s/DEA\tMSc/DEA/;
+  s/ME\tDipl\./ME/;
+  s/\tENS\t/\tENS Ulm/;
+  s/Économiee environ\. et ressources naturelles UCL Londres/UCL\tÉconomie environnementale et ressources naturelles/;
+  s/Dipl\.\tHEC 04//;
+  s/Neurosciencessciences/Neurosciences/;
+  s/HEC\tHEC-Entrepreneurs//;
+  s/Master Techniques Avancées en Calcul des Structures\tENS Cachan/Master Techniques Avancées en Calcul des Structures/;
+  s/DEA\t\tPanthéon-Sorbonne/DEA\tPanthéon-Sorbonne/;
+  s/MBA\t\tCollege of Europe/MBA\tCollege of Europe/;
+  s/DEA\t\tUMPC/DEA\tUMPC/;
+  s/Informatique UMPC/Informatique/;
+
+  print OUT $_;
+}
+
+close(FILE);
+close(OUT);
index 505f87b..fb3a6db 100755 (executable)
@@ -19,8 +19,12 @@ echo int
 $MYSQL x4dat < Activites.sql
 $MYSQL x4dat < Adresses.sql
 $MYSQL x4dat < Anciens.sql
-$MYSQL x4dat < Formations.sql
 $MYSQL x4dat < Entreprises.sql
+./formation.pl
+cat Formations_out.txt > Formations.txt
+rm -f Formations_out.txt
+$MYSQL x4dat < Formations.sql
+
 
 # nettoyage
 echo nettoyage
index f0a490b..67e9cf5 100644 (file)
 <li><a href="fusionax/import">Import de la base AX</a> {if $lastimport} - (dernier import le {$lastimport}){/if}</li> 
 <li>Mise en <a href="fusionax/ids">correspondance simple</a></li>
 <li>Création des <a href="fusionax/view">VIEW annexes nécessaires aux corrélations</a></li>
+<li>Corrélation des <a href="fusionax/deceased">dates de décès</a></li>
+<li>Corrélation des <a href="fusionax/promo">promotions</a></li>
 <li>Corrélation des <a href="fusionax/names">données d'identification</a></li>
 <li>Corrélation des <a href="fusionax/coords">coordonnées</a></li>
 <li>Corrélation des <a href="fusionax/pros">informations professionnelles</a></li>
 <li>Corrélation des <a href="fusionax/studies">informations de formations</a></li>
-<li>Corrélation des <a href="fusionax/deceased">dates de décès</a></li>
 </ul>
 
 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
index cd362f6..206c381 100644 (file)
         {if $field2}
         <th>{$namefield2}</th>
         {/if}
+        {if $field3}
+        <th>{$namefield3}</th>
+        {/if}
+        {if $field4}
+        <th>{$namefield4}</th>
+        {/if}
         {if $fusionAction}
         <th>Action</th>
         {/if}
         {if $field2}
         <td>{$c.$field2}</td>
         {/if}
+        {if $field3}
+        <td>{$c.$field3}</td>
+        {/if}
+        {if $field4}
+        <td>{$c.$field4}</td>
+        {/if}
         {if $fusionAction}
         <td><a class="fusion-action" href="{$fusionAction}/{$c.user_id}/{$c.id_ancien}">{$name}</a></td>
         {/if}
diff --git a/templates/fusionax/promo.tpl b/templates/fusionax/promo.tpl
new file mode 100644 (file)
index 0000000..d237fae
--- /dev/null
@@ -0,0 +1,37 @@
+{**************************************************************************}
+{*                                                                        *}
+{*  Copyright (C) 2003-2007 Polytechnique.org                             *}
+{*  http://opensource.polytechnique.org/                                  *}
+{*                                                                        *}
+{*  This program is free software; you can redistribute it and/or modify  *}
+{*  it under the terms of the GNU General Public License as published by  *}
+{*  the Free Software Foundation; either version 2 of the License, or     *}
+{*  (at your option) any later version.                                   *}
+{*                                                                        *}
+{*  This program is distributed in the hope that it will be useful,       *}
+{*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *}
+{*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *}
+{*  GNU General Public License for more details.                          *}
+{*                                                                        *}
+{*  You should have received a copy of the GNU General Public License     *}
+{*  along with this program; if not, write to the Free Software           *}
+{*  Foundation, Inc.,                                                     *}
+{*  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA               *}
+{*                                                                        *}
+{**************************************************************************}
+
+<h2><a href="fusionax">Fusion des annuaires X.org - AX</a> / Promotions</h2>
+
+<p></p>
+
+{if $nbMissmatchingPromos > 0}
+<p>Il y a {$nbMissmatchingPromos} différences entre les deux bases dans pour les promotions.</p>
+<p>Grosses différences (oranjisation ?) :</p>
+{include file='fusionax/listFusion.tpl' fusionList=$missmatchingPromos1 field1='user_id' namefield1='ID X.org' field3='promo_etude_xorg'
+namefield3='etude_xorg' field4='promo_sortie_xorg' namefield4='sortie_xorg' field2='promo_etude_ax' namefield2='etude_ax'}
+
+<p>Petites différences : promo_etude_xorg == promo_etude_ax + 1 et promo_etude_xorg + 3 == promo_sortie_xorg, a priori ce sont les étrangers que nous avons mal
+inclus</p>
+{include file='fusionax/listFusion.tpl' fusionList=$missmatchingPromos2 field1='user_id' namefield1='ID X.org' field3='promo_etude_xorg'
+namefield3='etude_xorg' field4='promo_sortie_xorg' namefield4='sortie_xorg' field2='promo_etude_ax' namefield2='etude_ax'}
+{/if}
index 25d28b6..2ebcb43 100644 (file)
@@ -144,14 +144,18 @@ function chgMainWinLoc(strPage)
       {if $x.promo_sortie && ($x.promo_sortie-3 > $x.promo)}
         - X {math equation="a-b" a=$x.promo_sortie b=3}
       {/if}
+        {if $logged && $x.is_referent}
+        [<a href="referent/{$user->login()}" class='popup2'>Ma fiche référent</a>]
+        {/if}
       {if $x.education}
-        &nbsp;-&nbsp;Formation&nbsp;: {$x.education|smarty:nodefaults}
-      {/if}
-      {if $logged && $x.is_referent}
-      [<a href="referent/{$user->login()}" class='popup2'>Ma fiche référent</a>]
+        &nbsp;-&nbsp;Formation&nbsp;:
+        <ul>
+        {foreach from=$x.education item="edu"}
+          <li>{$edu|smarty:nodefaults}</li>
+        {/foreach}
+        </ul>
       {/if}
       {if $x.corps}
-        <br />
         {$x.corps|smarty:nodefaults}
       {/if}
     </div>
diff --git a/upgrade/merge-0.0.1/07_education.php b/upgrade/merge-0.0.1/07_education.php
new file mode 100755 (executable)
index 0000000..6941b14
--- /dev/null
@@ -0,0 +1,163 @@
+#!/usr/bin/php5
+<?php
+require_once 'connect.db.inc.php';
+
+$globals->debug = 0; //do not store backtraces
+
+// get degree list
+$res = XDB::iterator("SELECT  id, abbreviation AS name
+                        FROM  profile_education_degree_enum
+                    ORDER BY  id");
+foreach ($res as $item) {
+    $degree_list[$item[1]] = $item[0];
+}
+
+// get degree's level list
+$res = XDB::iterator("SELECT  id, level AS name
+                        FROM  profile_education_degree_enum
+                    ORDER BY  id");
+foreach ($res as $item) {
+    $level_list [$item[1]] = $item[0];
+}
+
+// get university list
+$res = XDB::iterator("SELECT  id, IF(abbreviation = '', name, abbreviation) AS name
+                        FROM  profile_education_enum
+                    ORDER BY  id");
+foreach ($res as $item) {
+    $university_list [$item[1]] = $item[0];
+}
+
+// get field list
+$res = XDB::iterator("SELECT  id, field AS name
+                        FROM  profile_education_field_enum
+                    ORDER BY  id");
+foreach ($res as $item) {
+    $field_list [$item[1]] = $item[0];
+}
+
+// get Xorg education data
+$res = XDB::query("SELECT  p.uid, d.abbreviation AS degree, IF(e.abbreviation = '', e.name, e.abbreviation) AS university, p.program, p.id AS no
+                     FROM  profile_education             AS p
+               INNER JOIN  profile_education_enum        AS e ON (p.eduid = e.id)
+               INNER JOIN  profile_education_degree_enum AS d ON (p.degreeid = d.id)
+                    WHERE  p.id != 100
+                 ORDER BY  p.uid");
+$xorg_edu = $res->fetchAllAssoc();
+
+// get AX education data
+$res = XDB::iterator("SELECT  u.user_id AS uid, f.Intitule_diplome AS degree, f.Intitule_formation AS university,
+                              CONCAT(Descr_formation, ' ', tmp_1, ' ', tmp_2, ' ', tmp_3, ' ', tmp_4) AS program
+                        FROM  fusionax_formations   AS f
+                  INNER JOIN  fusionax_xorg_anciens AS u ON (f.id_ancien = u.matricule_ax)
+                    ORDER BY  u.user_id");
+$ax_edu = $res->fetchAllAssoc();
+
+// merge education data
+$nb_merge_succes = 0;
+$nb_total = 0;
+$xorg = next($xorg_edu);
+while ($ax = next($ax_edu)) {
+    array_walk($ax, 'trim');
+    if (($ax['degree'] == '') && ($ax['university'] = '')) {
+        continue;
+    }
+    while ($xorg['uid'] && ($xorg['uid'] < $ax['uid'])) {
+        $xorg = next($xorg_edu);
+    }
+
+    $no = 0;
+    if($xorg['uid'] == $ax['uid']) {
+        $uid = $xorg['uid'];
+        $i = 0;
+
+        while (($xorg['uid'] == $uid) && (!merge($ax, $xorg))) {
+            $xorg = next($xorg_edu);
+            $i++;
+            $no++;
+        }
+        while ($xorg['uid'] == $uid) {
+            $xorg = next($xorg_edu);
+            $no++;
+        }
+
+        if ($i > 0) {
+            $i = $no;
+        } else {
+            $i = $no - 1;
+        }
+        while ($i != 0) {
+            $xorg = prev($xorg_edu);
+            $i--;
+        }
+        if ($ax['no']) {
+            $no = $ax['no'];
+            $nb_merge_succes++;
+        }
+    }
+    adapt_ax($ax);
+    XDB::execute("REPLACE INTO  profile_education (uid, degreeid, eduid, program, fieldid, id)
+                        VALUES  {?}, {?}, {?}, {?}, {?}, {?}",
+                 $ax['uid'], $ax['degree'], $ax['university'], $ax['program'], $ax['field'], $no);
+    $nb_total++;
+    if (($nb_total % 1000) == 0) {
+        echo ".";
+    }
+}
+
+echo "\n";
+echo "$nb_merge_succes educations were succesfully merged among $nb_total entries.\n";
+
+// auxilliary functions
+
+// replaces AX data by corresponding id in Xorg database
+function adapt_ax(&$ax)
+{
+    if ($field_list[$ax['program']]) {
+        $ax['field'] = $field_list[$ax['program']];
+        $ax['program'] = null;
+    }
+    $ax['degree'] = $degree_list[$ax['degree']];
+    $ax['university'] = $university_list[$ax['university']];
+}
+
+// tries to merge two educations into ax and returns 1 in case of merge
+function merge(&$ax, $xorg)
+{
+    if ($ax['degree'] == '') {
+        if ($ax['university'] != $xorg['university']) {
+            return 0;
+        }
+        $ax['degree'] = $xorg['degree'];
+        $ax['university'] = $xorg['university'];
+    } else {
+        if ($ax['university'] == '') {
+            if (($level_list[$ax['degree']] == $level_list[$xorg['degree']]) || ($xorg['degree'] == "Dipl.") || ($ax['degree'] == "Dipl.")) {
+                if ($xorg['degree'] != "Dipl.") {
+                    $ax['degree'] = $xorg['degree'];
+                }
+                $ax['university'] = $xorg['university'];
+            } else {
+                return 0;
+            }
+        } else {
+            if (($ax['university'] == $xorg['university']) &&
+                (($level_list[$ax['degree']] == $level_list[$xorg['degree']]) || ($xorg['degree'] == "Dipl.") || ($ax['degree'] == "Dipl."))) {
+                if ($xorg['degree'] != "Dipl.") {
+                    $ax['degree'] = $xorg['degree'];
+                }
+            } else {
+                return 0;
+            }
+        }
+    }
+    if ($xorg['program']) {
+        $ax['field'] = $field_list[$ax['program']];
+        $ax['program'] = $xorg['program'];
+    }
+    $ax['no'] = $xorg['no'];
+    return 1;
+}
+
+/* vim:set et sw=4 sts=4 ts=4: */
+?>
index 16982fa..42d3ac6 100644 (file)
@@ -8,8 +8,11 @@ CREATE TABLE IF NOT EXISTS profile_education_field_enum (
 CREATE TABLE IF NOT EXISTS profile_education_degree_enum (
   id INT(2) NOT NULL AUTO_INCREMENT,
   degree VARCHAR(255) DEFAULT NULL,
+  abbreviation VARCHAR(255) DEFAULT '' NOT NULL,
+  level TINYINT (1) UNSIGNED DEFAULT 0 NOT NULL,
   PRIMARY KEY(id),
-  UNIQUE KEY(degree)
+  UNIQUE KEY(degree),
+  UNIQUE KEY(abbreviation)
 ) CHARSET=utf8;
 
 CREATE TABLE IF NOT EXISTS profile_education_degree (
@@ -21,10 +24,12 @@ CREATE TABLE IF NOT EXISTS profile_education_degree (
 CREATE TABLE IF NOT EXISTS profile_education_enum (
   id INT(4) NOT NULL AUTO_INCREMENT,
   name VARCHAR(255) DEFAULT NULL,
+  abbreviation VARCHAR(255) DEFAULT '' NOT NULL,
   url VARCHAR(255) DEFAULT NULL,
   country CHAR(2) NOT NULL DEFAULT 'FR',
   PRIMARY KEY(id),
-  UNIQUE KEY(name)
+  UNIQUE KEY(name),
+  UNIQUE KEY(IF(abbreviation = '', name, abbreviation))
 ) CHARSET=utf8;
 
 CREATE TABLE IF NOT EXISTS profile_education (
@@ -33,8 +38,10 @@ CREATE TABLE IF NOT EXISTS profile_education (
   eduid INT(4) NOT NULL DEFAULT 0,
   degreeid INT(4) NOT NULL DEFAULT 0,
   fieldid INT(2) NOT NULL DEFAULT 0,
+  entry_year INT(4) DEFAULT NULL,
   grad_year INT(4) DEFAULT NULL,
   program VARCHAR(255) DEFAULT NULL,
+  flags SET('primary') DEFAULT '' NOT NULL,
   PRIMARY KEY(id, uid)
 ) CHARSET=utf8;
 
diff --git a/upgrade/newdirectory-0.0.1/09_education.sql b/upgrade/newdirectory-0.0.1/09_education.sql
new file mode 100644 (file)
index 0000000..74de743
--- /dev/null
@@ -0,0 +1,550 @@
+-- Updates diplomas
+UPDATE profile_education_degree_enum SET abbreviation = 'PhD', degree = 'Doctorat', level = 8 WHERE degree = 'PhD';
+UPDATE profile_education_degree_enum SET abbreviation = 'Lic.', level = 3 WHERE degree = 'Licence';
+UPDATE profile_education_degree_enum SET abbreviation = 'MSc', degree = 'Master of Science', level = 5 WHERE degree = 'MS';
+UPDATE profile_education_degree_enum SET abbreviation = 'DEA', degree = "Diplôme d'Études Approfondies", level = 5 WHERE degree = 'DEA';
+UPDATE profile_education_degree_enum SET abbreviation = 'ME', degree = 'Master of Economics', level = 5 WHERE degree = 'ME';
+UPDATE profile_education_degree_enum SET abbreviation = 'MBA', degree = 'Master of Business Administration', level = 5 WHERE degree = 'MBA';
+UPDATE profile_education_degree_enum SET abbreviation = 'MiF', degree = 'Master in Finance', level = 5 WHERE degree = 'MiF';
+UPDATE profile_education_degree_enum SET abbreviation = 'MPA', degree = 'Master of Public Administration', level = 5 WHERE degree = 'MPA';
+UPDATE profile_education_degree_enum SET abbreviation = 'MIA', degree = 'Master of International Affairs', level = 5 WHERE degree = 'MIA';
+UPDATE profile_education_degree_enum SET abbreviation = 'Corps', degree = 'Corps', level = 5 WHERE degree = 'Corps';
+UPDATE profile_education_degree_enum SET abbreviation = 'Ing.', degree = 'Ingénieur', level = 5 WHERE degree = 'Ingénieur';
+UPDATE profile_education_degree_enum SET abbreviation = 'Dipl.', degree = 'Diplôme', level = 0 WHERE degree = 'Diplôme';
+
+INSERT INTO  profile_education_degree_enum (abbreviation, degree, level)
+     VALUES  ('Agr.', 'Agrégation', 4), ('CAPES', 'Certificat d\'Aptitude au Professorat de l\'Enseignement du Second degré', 4),
+             ('DESS', 'Diplôme d\'Études Supérieures Spécialisées', 5), ('BTS', 'Brevet de Technicien Supérieur', 2), ('MA', 'Master of Arts', 5),
+             ('Maîtr.', 'Maîtrise', 4), ('HDR', 'Habilitation à Diriger des Recherches', 8), ('DEUG', 'Diplôme d\'Études Universitaires Générales', 2),
+             ('MEE', 'Master of Electrical Engineering', 5), ('MPhil', 'Master of Philosophy', 5), ('MUP', 'Master of Urban Planning', 5),
+             ('MME', 'Master of Mechanical Engineering', 5), ('MCP', 'Master of City Planning', 5), ('BA', 'Bachelor of Arts', 3),
+             ('MEl', 'Master of Electronics', 5), ('MM', 'Master of Management', 5), ('MIB', 'Master of International Business', 5),
+             ('MC', 'Master of Chemistry', 5), ('MEM', 'Master of Engineering in Manufacturing', 5), ('MEng', 'Master of Engineering', 5),
+             ('MCE', 'Master of Chemical Engineering', 5), ('M', 'Master', 5), ('MMS', 'Master of Military Studies', 5),
+             ('MSI', 'Master of Science in Information', 5),
+             ('DESCF', 'Diplôme d\'Études Supérieures Comptables et Financières', 5), ('MB', 'Master of Biotechnology', 5);
+
+-- Updates universities
+UPDATE profile_education_enum
+SET abbreviation = 'Télécom', name = 'Télécom ParisTech', url = 'http://www.telecom-paristech.fr/'
+WHERE name = 'Télécom';
+UPDATE profile_education_enum
+SET abbreviation = 'ENGREF', name = 'École Nationale du Génie Rural des Eaux et des Forêts', url = 'http://www.agroparistech.fr/-Ecole-interne-ENGREF-.html'
+WHERE name = 'ENGREF';
+UPDATE profile_education_enum
+SET abbreviation = 'INSEE', name = 'Institut National de la Statistique et des Études Économiques'
+WHERE name = 'INSEE';
+UPDATE profile_education_enum
+SET abbreviation = 'Météo', name = 'École Nationale de la Météorologie'
+WHERE name = 'Météo';
+UPDATE profile_education_enum
+SET abbreviation = 'Mines', name = 'Mines ParisTech'
+WHERE name = 'Mines';
+UPDATE profile_education_enum
+SET abbreviation = 'Ponts', name = 'École des Ponts ParisTech'
+WHERE name = 'Ponts';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSAE', name = 'École Nationale de la Statistique et de l\'Administration Économique ParisTech'
+WHERE name = 'ENSAE';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSAM', name = 'Arts et Métiers ParisTech'
+WHERE name = 'ENSAM';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSEEIHT', name = 'École Nationale Supérieure d\'Électrotechnique, d\'Électronique, d\'Informatique, d\'Hydraulique et des Télécommunications'
+WHERE name = 'ENSEEIHT';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSIMAG', name = 'École Nationale Supérieure d\'Informatique et de Mathématiques Appliquées de Grenoble', url = 'http://ensimag.grenoble-inp.fr/'
+WHERE name = 'ENSIMAG';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSTA', name = 'École Nationale Supérieure de Techniques Avancées'
+WHERE name = 'ENSTA';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSPM', name = 'École Nationale Supérieure du Pétrole et des Moteurs'
+WHERE name = 'ENSPM';
+UPDATE profile_education_enum
+SET abbreviation = 'INAPG', name = 'Institut National Agronomique Paris-Grignon', url = 'http://www.agroparistech.fr/'
+WHERE name = 'INAPG';
+UPDATE profile_education_enum
+SET abbreviation = 'HEC', name = 'École des Hautes Études Commerciales'
+WHERE name = 'HEC';
+UPDATE profile_education_enum
+SET abbreviation = 'X', name = 'École polytechnique', url = 'http://www.polytechnique.edu/'
+WHERE name = 'X';
+UPDATE profile_education_enum
+SET abbreviation = 'SUPAERO', name = 'École Nationale Supérieure de l\'Aéronautique et de l\'Espace', url = 'http://www.isae.fr/'
+WHERE name = 'Supaéro';
+UPDATE profile_education_enum
+SET abbreviation = 'SupOptique', name = 'Institut d\'Optique Théorique et Appliquée'
+WHERE name = 'Supoptique';
+UPDATE profile_education_enum
+SET abbreviation = 'Supélec', name = 'École Supérieure d\'Électricité'
+WHERE name = 'Supélec';
+UPDATE profile_education_enum
+SET abbreviation = 'ENA', name = 'École Nationale d\'Administration'
+WHERE name = 'ENA';
+UPDATE profile_education_enum
+SET abbreviation = 'INSEAD', name = 'Institut Européen d\'Administration des Affaires', url = 'http://www.insead.edu/'
+WHERE name = 'INSEAD';
+UPDATE profile_education_enum
+SET abbreviation = 'Chimie Paris', name = 'Chimie Paris ParisTech', url = 'http://www.enscp.fr/'
+WHERE name = 'Chimie Paris';
+UPDATE profile_education_enum
+SET abbreviation = 'INSTN', name = 'Institut National des Sciences et Techniques Nucléaires'
+WHERE name = 'INSTN';
+UPDATE profile_education_enum
+SET abbreviation = 'UMPC', name = 'Université Pierre-et-Marie-Curie (Paris-VI)', url = 'http://www.upmc.fr/'
+WHERE name = 'Univ Paris  6 (Pierre et Marie Curie - Jussieu)';
+UPDATE profile_education_enum
+SET abbreviation = 'Paris-Sud', name = 'Université Paris-Sud (Paris-XI)'
+WHERE name = 'Univ Paris 11 (Orsay)';
+UPDATE profile_education_enum
+SET abbreviation = 'Paris-Diderot', name = 'Université Denis Diderot (Paris-VII)', url = 'http://www.univ-paris7.fr/'
+WHERE name = 'Univ Paris  7 (Denis Diderot - Jussieu)';
+UPDATE profile_education_enum
+SET abbreviation = 'Dauphine', name = 'Université de Technologie en Sciences des Organisations et de la Décision de Paris-Dauphine (Paris-IX)'
+WHERE name = 'Univ Paris  9 (Dauphine)';
+UPDATE profile_education_enum
+SET abbreviation = 'Panthéon-Sorbonne', name = 'Université Panthéon-Sorbonne (Paris-I)'
+WHERE name = 'Univ Paris  1 (Panthéon-Sorbonne)';
+UPDATE profile_education_enum
+SET abbreviation = 'Nanterre', name = 'Université de Paris Ouest - Nanterre La Défense (Paris-X)'
+WHERE name = 'Univ Paris 10 (Nanterre)';
+UPDATE profile_education_enum
+SET abbreviation = 'Paris-Descartes', name = 'Université Paris Descartes (Paris-V)'
+WHERE name = 'Univ Paris  5 (René Descartes)';
+UPDATE profile_education_enum
+SET abbreviation = 'Sorbonne Nouvelle', name = 'Université Sorbonne Nouvelle (Paris-III)'
+WHERE name = 'Univ Paris  3 (Sorbonne Nouvelle)';
+UPDATE profile_education_enum
+SET abbreviation = 'Vincennes-Saint-Denis', name = 'Université de Vincennes à Saint-Denis (Paris-VIII)'
+WHERE name = 'Univ Paris  8 (Vincennes - Saint Denis)';
+UPDATE profile_education_enum
+SET abbreviation = 'Paris-Val de Marne', name = 'Université Paris-Val de Marne (Paris-XII)'
+WHERE name = 'Univ Paris 12 (Val de Marne)';
+UPDATE profile_education_enum
+SET abbreviation = 'Paris-Nord', name = 'Université Paris-Nord (Paris-XIII)'
+WHERE name = 'Univ Paris 13 (Nord)';
+UPDATE profile_education_enum
+SET abbreviation = 'Paris-Sorbonne', name = 'Université Paris-Sorbonne (Paris-IV)'
+WHERE name = 'Univ Paris  4 (Sorbonne)';
+UPDATE profile_education_enum
+SET abbreviation = 'Assas', name = 'Université Panthéon-Assas (Paris-II)'
+WHERE name = 'Univ Paris  2 (Panthéon - Assas)';
+UPDATE profile_education_enum
+SET abbreviation = 'CDI', name = 'Collège des Ingénieurs'
+WHERE name = 'Collège des Ingénieurs';
+UPDATE profile_education_enum
+SET abbreviation = 'ENS Ulm', name = 'École Normale Supérieure'
+WHERE name = 'ENS Ulm';
+UPDATE profile_education_enum
+SET abbreviation = 'ENS Lyon', name = 'École Normale Supérieure de Lyon '
+WHERE name = 'ENS Lyon';
+UPDATE profile_education_enum
+SET abbreviation = 'ENS Cachan', name = 'École Normale Supérieure de Cachan'
+WHERE name = 'ENS Cachan';
+UPDATE profile_education_enum
+SET abbreviation = 'ESPCI', name = 'ESPCI ParisTech'
+WHERE name = 'ESPCI';
+UPDATE profile_education_enum
+SET abbreviation = 'Sciences Po', name = 'Institut d\'Études Politiques de Paris'
+WHERE name = 'IEP Paris';
+UPDATE profile_education_enum
+SET abbreviation = 'EHESS', name = 'École des Hautes Études en Sciences Sociales'
+WHERE name = 'EHESS';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSIC', name = 'École Nationale Supérieure des Industries Chimiques'
+WHERE name = 'ENSIC';
+UPDATE profile_education_enum
+SET abbreviation = 'Grenoble INP', name = 'Institut Polytechnique de Grenoble', url = 'http://www.grenoble-inp.fr/'
+WHERE name = 'INPG';
+UPDATE profile_education_enum
+SET abbreviation = 'ESSEC', name = 'École Supérieure des Sciences Économiques et Commerciales'
+WHERE name = 'ESSEC';
+UPDATE profile_education_enum
+SET abbreviation = 'INPL', name = 'Institut National Polytechnique de Lorraine'
+WHERE name = 'INPL';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSAPB', name = 'École Nationale Supérieure d\'Architecture de Paris-Belleville'
+WHERE name = 'EAPB (Ecole Architecture Paris Belleville)';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSAPLV', name = 'École Nationale Supérieure d\'Architecture de Paris-La Villette'
+WHERE name = 'EAPLV (Ecole Architecture Paris La Villette)';
+UPDATE profile_education_enum
+SET abbreviation = 'EAVT', name = 'École d\'Architecture de la Ville et des Territoires à Marne-la-Vallée'
+WHERE name = 'EAVT (Ecole d\'architecture de Marne La Vallee)';
+UPDATE profile_education_enum
+SET abbreviation = 'ENSP', name = 'École Nationale Supérieure du Paysage'
+WHERE name = 'ENSP Versailles';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'École Nationale Supérieure du Génie Maritime', url = 'http://www.ensta.fr/'
+WHERE name = 'Génie maritime (Ecole nationale supérieur du)';
+UPDATE profile_education_enum
+SET abbreviation = 'CPA de Paris', name = 'Centre de Perfectionnement aux Affaires de Paris', url = ''
+WHERE name = 'Centre de Perfectionnement aux Affaires';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'ESCP-EAP', url = 'http://www.escp-eap.eu/'
+WHERE name = 'ESCP-EAP';
+UPDATE profile_education_enum
+SET abbreviation = 'CEPE', name = 'Centre d\'Études des Programmes Économiques'
+WHERE name = 'CEPE';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Institut des Actuaires', url = 'http://www.institutdesactuaires.com/'
+WHERE name = 'Institut des actuaires';
+UPDATE profile_education_enum
+SET abbreviation = 'CEIPI', name = 'Centre d\'Études Internationales de la Propriété Industrielle'
+WHERE name = 'CEIPI';
+UPDATE profile_education_enum
+SET abbreviation = 'Université Paul-Sabatier', name = 'Université Paul-Sabatier (Toulouse III)'
+WHERE name = 'Univ Toulouse III (Paul Sabatier)';
+UPDATE profile_education_enum
+SET abbreviation = 'Université de Provence', name = 'Université de Provence (Aix-Marseille I)'
+WHERE name = 'Université de Provence';
+UPDATE profile_education_enum
+SET abbreviation = 'INSA Rouen', name = 'Institut National des Sciences Appliquées de Rouen'
+WHERE name = 'INSA Rouen';
+UPDATE profile_education_enum
+SET abbreviation = 'IAE de Paris', name = 'Institut d\'Administration des Entreprises de Paris', url = 'http://iae.univ-paris1.fr/'
+WHERE name = 'Institut d\'Administration des Entreprises';
+
+UPDATE profile_education_enum
+SET abbreviation = 'Berkeley', name = 'University of California, Berkeley', country = 'US'
+WHERE name = 'Univ Berkeley';
+UPDATE profile_education_enum
+SET abbreviation = 'CalTech', name = 'California Institute of Technology', country = 'US'
+WHERE name = 'CalTech';
+UPDATE profile_education_enum
+SET abbreviation = 'MIT', name = 'Massachusetts Institute of Technology', country = 'US'
+WHERE name = 'Massachusetts Institute of Technology';
+UPDATE profile_education_enum
+SET abbreviation = 'Cornell', name = 'Cornell University', country = 'US'
+WHERE name = 'Univ Cornell';
+UPDATE profile_education_enum
+SET abbreviation = 'Stanford', name = 'Stanford University', country = 'US'
+WHERE name = 'Univ Stanford';
+UPDATE profile_education_enum
+SET abbreviation = 'UCLA', name = 'University of California, Los Angeles', country = 'US'
+WHERE name = 'Univ UCLA';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'University of Illinois', country = 'US'
+WHERE name = 'Univ Illinois';
+UPDATE profile_education_enum
+SET abbreviation = 'Michigan', name = 'University of Michigan, Ann Arbor', country = 'US'
+WHERE name = 'Univ Michigan';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Seattle University', country = 'US'
+WHERE name = 'Univ Seattle';
+UPDATE profile_education_enum
+SET abbreviation = 'UGA', name = 'University of Georgia', country = 'US'
+WHERE name = 'Univ Georgia';
+UPDATE profile_education_enum
+SET abbreviation = 'UT Austin', name = 'University of Texas at Austin', country = 'US'
+WHERE name = 'Univ Texas';
+UPDATE profile_education_enum
+SET abbreviation = 'RIP', name = 'Rensselaer Polytechnic Institute', country = 'US'
+WHERE name = 'Univ Rensselaer';
+UPDATE profile_education_enum
+SET abbreviation = 'NYU', name = 'New York University', country = 'US'
+WHERE name = 'Univ New York';
+UPDATE profile_education_enum
+SET abbreviation = 'Harvard', name = 'Harvard University', country = 'US'
+WHERE name = 'Univ Harvard';
+UPDATE profile_education_enum
+SET abbreviation = 'The Wharton School', name = 'The Wharton School of the University of Pennsylvania', country = 'US', url = 'http://www.wharton.upenn.edu/'
+WHERE name = 'Univ Wharton';
+UPDATE profile_education_enum
+SET abbreviation = 'Columbia University', name = 'Columbia University in the City of New York', country = 'US'
+WHERE name = 'Univ Columbia';
+UPDATE profile_education_enum
+SET abbreviation = 'WSBS', name = 'Watson School of Biological Sciences', country = 'US'
+WHERE name = 'Watson School of Biological Sciences';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Colorado School of Mines', country = 'US'
+WHERE name = 'Univ Colorado School of Mines';
+UPDATE profile_education_enum
+SET abbreviation = 'Princeton', name = 'Princeton University', country = 'US'
+WHERE name = 'Univ Princeton';
+UPDATE profile_education_enum
+SET abbreviation = 'Georgia Tech', name = 'Georgia Institute of Technology', country = 'US'
+WHERE name = 'GeorgiaTech';
+UPDATE profile_education_enum
+SET abbreviation = 'JHU', name = 'Johns Hopkins University', country = 'US'
+WHERE name = 'Univ Johns Hopkins';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'University of Chicago', country = 'US'
+WHERE name = 'Univ Chicago';
+UPDATE profile_education_enum
+SET abbreviation = 'Yale', name = 'Yale University', country = 'US'
+WHERE name = 'Univ Yale';
+UPDATE profile_education_enum
+SET abbreviation = 'TAMU', name = 'Texas A&M University', country = 'US'
+WHERE name = 'Texas A&M University';
+UPDATE profile_education_enum
+SET abbreviation = 'UCSB', name = 'University of California, Santa Barbara', country = 'US'
+WHERE name = 'Univ Santa-Barbara';
+UPDATE profile_education_enum
+SET abbreviation = 'Kellogg', name = 'Kellogg School of Management', country = 'US'
+WHERE name = 'Kellogg School of Management';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'University of Iowa', country = 'US'
+WHERE name = 'Univ Iowa';
+UPDATE profile_education_enum
+SET abbreviation = 'UW-Madison', name = 'University of Wisconsin-Madison', country = 'US', url = 'http://www.wisc.edu/'
+WHERE name = 'Univ Wisconsin-Madison';
+UPDATE profile_education_enum
+SET abbreviation = 'UCSD', name = 'University of California, San Diego', country = 'US'
+WHERE name = 'Univ San Diego';
+UPDATE profile_education_enum
+SET abbreviation = 'NU', name = 'Northwestern University', country = 'US'
+WHERE name = 'Univ Northwestern';
+UPDATE profile_education_enum
+SET abbreviation = 'CU', name = 'University of Colorado at Boulder', country = 'US'
+WHERE name = 'Univ Colorado at Boulder';
+UPDATE profile_education_enum
+SET abbreviation = 'CMU', name = 'Carnegie Mellon University', country = 'US'
+WHERE name = 'Univ Carnegie Mellon';
+UPDATE profile_education_enum
+SET abbreviation = 'Carolina', name = 'University of North Carolina at Chapel Hill', country = 'US'
+WHERE name = 'Univ of North Carolina at Chapel Hill';
+
+UPDATE profile_education_enum
+SET abbreviation = 'TU Berlin', name = 'Technische Universität Berlin', country = 'DE'
+WHERE name = 'Univ TU Berlin';
+UPDATE profile_education_enum
+SET abbreviation = 'TU Darmstadt', name = 'Technische Universität Darmstadt', country = 'DE'
+WHERE name = 'Univ TU Darmstadt';
+UPDATE profile_education_enum
+SET abbreviation = 'TU München', name = 'Technische Universität München', country = 'DE'
+WHERE name = 'Univ TU München';
+UPDATE profile_education_enum
+SET abbreviation = 'Universität Karlsruhe', name = 'Universität Karlsruhe (TH)', country = 'DE'
+WHERE name = 'Univ Karlsruhe';
+UPDATE profile_education_enum
+SET abbreviation = 'RWTH', name = 'RWTH Aachen University', country = 'DE'
+WHERE name = 'Univ RWTH-Aachen';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Universität Stuttgart', country = 'DE'
+WHERE name = 'Univ Stuttgart';
+
+UPDATE profile_education_enum
+SET abbreviation = 'EPM', name = 'École Polytechnique de Montréal', country = 'CA'
+WHERE name = 'EP Montréal';
+UPDATE profile_education_enum
+SET abbreviation = 'UBC', name = 'University of British Columbia', country = 'CA'
+WHERE name = 'Univ British Columbia';
+UPDATE profile_education_enum
+SET abbreviation = 'McGill', name = 'McGill University', country = 'CA'
+WHERE name = 'Univ McGill';
+UPDATE profile_education_enum
+SET abbreviation = 'UQÀM', name = 'Université du Québec à Montréal', country = 'CA' WHERE id = 125;
+
+UPDATE profile_education_enum
+SET abbreviation = 'UPC', name = 'Universitat Politècnica de Catalunya', country = 'ES'
+WHERE name = 'Univ Catalunya';
+UPDATE profile_education_enum
+SET abbreviation = 'UPM', name = 'Universidad Politècnica de Madrid', country = 'ES'
+WHERE name = 'Univ Madrid';
+UPDATE profile_education_enum
+SET abbreviation = 'UPF', name = 'Universitat Pompeu Fabra', country = 'ES'
+WHERE name = 'Univ Pompeu Fabra';
+
+UPDATE profile_education_enum
+SET abbreviation = 'Chalmers', name = 'Chalmers Tekniska Högskola', country = 'SE'
+WHERE name = 'Univ Chalmers';
+UPDATE profile_education_enum
+SET abbreviation = 'KTH', name = 'Kungliga Tekniska Högskolan', country = 'SE'
+WHERE name = 'Univ KTH';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Stockholms Universitet', country = 'SE'
+WHERE name = 'Univ Stockholm';
+
+UPDATE profile_education_enum
+SET abbreviation = 'TU Delft', name = 'Technische Universiteit Delft', country = 'NL'
+WHERE name = 'Univ TU Delft';
+UPDATE profile_education_enum
+SET abbreviation = 'RSM', name = 'Rotterdam School of Management, Erasmus University', country = 'NL'
+WHERE name = 'RSM';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Universiteit Leiden', country = 'NL'
+WHERE name = 'Univ Leiden';
+
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Kyoto University', country = 'JP'
+WHERE name = 'Univ Kyoto';
+UPDATE profile_education_enum
+SET abbreviation = 'Todai', name = 'University of Tokyo', country = 'JP'
+WHERE name = 'Univ Tokyo';
+UPDATE profile_education_enum
+SET abbreviation = 'Tokyo Tech', name = 'Tokyo Institute of Technology', country = 'JP'
+WHERE name = 'Tokyo Institute of Technology';
+
+UPDATE profile_education_enum
+SET abbreviation = 'UNIL', name = 'Université de Lausanne', country = 'CH'
+WHERE name = 'Univ Lausanne';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Universität Zürich', country = 'CH'
+WHERE name = 'Univ Zürich';
+UPDATE profile_education_enum
+SET abbreviation = 'EPFL', name = 'École Polytechnique Fédérale de Lausanne', country = 'CH'
+WHERE name = 'EP Fédérale Lausanne';
+UPDATE profile_education_enum
+SET abbreviation = 'IMD', name = 'International Institute for Management Development', country = 'CH'
+WHERE name = 'Institute for Management Development';
+UPDATE profile_education_enum
+SET abbreviation = 'ETH Zürich', name = 'Eidgenössische Technische Hochschule Zürich', country = 'CH'
+WHERE name = 'ETH Zürich';
+
+UPDATE profile_education_enum
+SET abbreviation = 'UNIMI', name = 'Università degli Studi di Milano', country = 'IT'
+WHERE name = 'Univ Milano';
+UPDATE profile_education_enum
+SET abbreviation = 'UNITO', name = 'Università degli Studi di Torino', country = 'IT'
+WHERE name = 'Univ Torino';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Politecnico di Milano', country = 'IT'
+WHERE name = 'Politecnico di Milano';
+UPDATE profile_education_enum
+SET abbreviation = 'EUI', name = 'European University Institute', country = 'IT'
+WHERE name = 'Institut Universitaire Européen';
+UPDATE profile_education_enum
+SET abbreviation = 'Università Bocconi', name = 'Università Commerciale Luigi Bocconi', url = 'http://www.unibocconi.it/', country = 'IT'
+WHERE name = 'Université Bocconi';
+
+UPDATE profile_education_enum
+SET abbreviation = 'MGU', name = 'Lomonosov Moscow State University', country = 'RU'
+WHERE name = 'Univ Moscow (lomonosov)';
+UPDATE profile_education_enum
+SET abbreviation = 'Bauman MSTU', name = 'Bauman Moscow State Technical University', country = 'RU', url = 'http://www.bmstu.ru/'
+WHERE name = 'Univ Moscow (Bauman)';
+
+UPDATE profile_education_enum
+SET abbreviation = 'Technion', name = 'Israel Institute of Technology', country = 'IL'
+WHERE name = 'Univ Technion';
+
+UPDATE profile_education_enum
+SET abbreviation = 'Oxford', name = 'University of Oxford', country = 'GB'
+WHERE name = 'Univ Oxford';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'London Business School', country = 'GB'
+WHERE name = 'London Business School';
+UPDATE profile_education_enum
+SET abbreviation = 'LSE', name = 'The London School of Economics and Political Science', country = 'GB'
+WHERE name = 'London School of Economics';
+UPDATE profile_education_enum
+SET abbreviation = 'Cambridge', name = 'University of Cambridge', country = 'GB'
+WHERE name = 'Univ Cambridge';
+UPDATE profile_education_enum
+SET abbreviation = 'Imperial College', name = 'Imperial College London', country = 'GB', url = 'http://www3.imperial.ac.uk/'
+WHERE name = 'Imperial College';
+UPDATE profile_education_enum
+SET abbreviation = 'Henley', name = 'Henley Management College', country = 'GB', url = 'http://www.henley.reading.ac.uk/'
+WHERE name = 'Henley Management College';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'University of Southampton', country = 'GB', url = 'http://www.soton.ac.uk/'
+WHERE name = 'Univ Southampton';
+UPDATE profile_education_enum
+SET abbreviation = '', name = 'Cardiff University', country = 'GB'
+WHERE name = 'Univ Cardiff';
+
+UPDATE profile_education_enum
+SET abbreviation = 'UNSW', name = 'The University of New South Wales', country = 'AU'
+WHERE name = 'Univ New South Wales  (Sydney Australia)';
+
+UPDATE profile_education_enum
+SET abbreviation = 'THU', name = 'Tsinghua University', country = 'CN'
+WHERE name = 'Univ Tsinghua';
+
+UPDATE profile_education_enum
+SET abbreviation = 'NUS', name = 'National University of Singapore', country = 'SG'
+WHERE name = 'National University of Singapore';
+
+UPDATE profile_education_enum
+SET abbreviation = 'NTNU', name = 'Norwegian University of Science and Technology', country = 'NO', url = 'http://www.ntnu.no/'
+WHERE name = 'Univ Trondheim';
+
+-- Cleans duplicated entries
+UPDATE profile_education SET eduid = 0 WHERE eduid = 70;
+DELETE FROM profile_education_enum WHERE id = 70;
+DELETE FROM profile_education_degree WHERE eduid = 70;
+
+UPDATE profile_education SET eduid = 91 WHERE eduid = 106;
+DELETE FROM profile_education_enum WHERE id = 106;
+DELETE FROM profile_education_degree WHERE eduid = 106;
+
+-- Adds new universities needed for the AX directory
+INSERT INTO  profile_education_enum (name, url, country, abbreviation)
+     VALUES  ('Institut Supérieur de l\'Aéronautique et de l\'Espace', 'http://www.isae.fr/', 'FR', 'ISAE'),
+             ('Institut des Hautes Études de Défense Nationale', 'http://www.ihedn.fr/', 'FR', 'IHEDN'),
+             ('École du Personnel Navigant d\'Essais et de Réception',
+              'http://www.defense.gouv.fr/dga/archives/l_epner_ecole_du_personnel_navigant_d_essais_et_de_reception', 'FR', 'EPNER'),
+             ('Agrocampus Ouest', 'http://www.agrocampus-ouest.fr/', 'FR', 'ENSAR'),
+             ('Montpellier SupAgro', 'http://www.supagro.fr/', 'fr', ''),
+             ('Institut Supérieur des Matériaux et de la Construction Mécanique Saint-Ouen', 'http://www.cefi.org/BOUCHON/BS/ISMCM_Saint-Ouen.htm',
+              'FR', 'ISMCM Saint-Ouen'),
+             ('École Centrale d\'Électronique ', 'http://www.ece.fr/', 'FR', 'ECE'),
+             ('École Nationale de l\'Aviation Civile', 'http://www.enac.fr/', 'FR', 'ENAC'),
+             ('Centre des Hautes Études de la Construction', 'http://www.chec.fr/', 'FR', 'CHEC'),
+             ('École de l\'Air', 'http://www.ecole-air.air.defense.gouv.fr/index.php?option=com_content&task=view&id=203&Itemid=251', 'FR', ''),
+             ('Institut Supérieur des Affaires', '', 'FR', 'ISA'),
+             ('École Supérieure de Gestion de Paris', 'http://www.esg.fr/', 'FR', 'ESG Paris'),
+             ('Institut des Hautes Études Européennes', 'http://www-ihee.u-strasbg.fr/', 'FR', 'IHEE'),
+             ('École Nationale de la Magistrature', 'http://www.enm.justice.fr/', 'FR', 'ENM'),
+             ('Institut de Formation Supérieure BioMédicale', 'http://www.igr.fr/ifsbm/', 'FR', 'IFSBM'),
+             ('Institut Supérieur de l\'AgroAlimentaire', 'http://www.isaa.fr/', 'FR', 'ISAA'),
+             ('École des Mines d\'Alès', 'http://www.ema.fr/', 'FR', 'EMA'),
+             ('Syracuse University', 'http://www.syr.edu/', 'US', 'SU'),
+             ('Dartmouth College', 'http://www.dartmouth.edu/', 'US', ''),
+             ('International Teachers Programme', 'http://www.itp-schools.org/', '', 'ITP'),
+             ('University of Kentucky', 'http://www.uky.edu/', 'US', 'UK'),
+             ('Marine Corps University', 'http://www.mcu.usmc.mil/', 'US', 'MCU'),
+             ('Chartered Institute of Management Accountants', 'http://www.cimaglobal.com/', 'GB', 'CIMA'),
+             ('University College London', 'http://www.ucl.ac.uk/', 'GB', 'UCL'),
+             ('Chartered Financial Analyst Institute', 'http://www.cfainstitute.org/', 'US', 'CFA Institute'),
+             ('Naval Postgraduate School', 'http://www.nps.edu/', 'US', 'NPS'),
+             ('Royal College of Art', 'http://www.rca.ac.uk/', 'GB', 'RCA'),
+             ('Uniwersytet Gdański', 'http://www.univ.gda.pl/', 'PL', ''),
+             ('College of Europe', 'http://www.coleurope.eu/', '', ''),
+             ('Purdue University', 'http://www.purdue.edu/', 'US', ''),
+             ('Queen\'s University', 'http://www.queensu.ca/', 'CA', 'Queen\'s'),
+             ('Université de Bretagne Occidentale', 'http://www.univ-brest.fr/', 'FR', 'UBO'),
+             ('University of California, Davis', 'http://www.ucdavis.edu/', 'US', 'UC Davis'),
+             ('Universität Stuttgarti', 'http://www.uni-stuttgart.de/', 'DE', ''),
+             ('Universitatea Politehnica din Bucureşti', 'http://www.pub.ro/', 'RO', 'Politehnica din Bucureşti'),
+             ('University of Birmingham', 'http://www.bham.ac.uk/', 'GB', ''),
+             ('University of Pennsylvania', 'http://www.upenn.edu/', 'US', ''),
+             ('University of Rome', '', 'IT', ''),
+             ('University of Sheffield', 'http://www.shef.ac.uk/', 'GB', ''),
+             ('University of Utah', 'http://www.utah.edu/', 'US', ''),
+             ('University of Washington', 'http://www.washington.edu/', 'US', ''),
+             ('Urbana University', 'http://www.urbana.edu/', 'US', ''),
+             ('Université de Technologie de Compiègne', 'http://www.utc.fr/', 'FR', 'UTC'),
+             ('Virginia Polytechnic Institute and State University', 'http://www.vt.edu/', 'US', 'Virginia Tech'),
+             ('Université Claude Bernard (Lyon I)', 'http://www.univ-lyon1.fr/', 'FR', 'Université Claude Bernard'),
+             ('Cleveland State University', 'http://www.csuohio.edu/', 'US', 'CSU'),
+             ('Centre de Perfectionnement aux Affaires du Nord', '', 'FR', 'CPA du Nord'),
+             ('Centre de Perfectionnement aux Affaires de Lyon', '', '', 'CPA de Lyon'),
+             ('Amherst College', 'http://www.amherst.edu/', 'US', '')
+             ('Ottawa University', 'http://www.ottawa.edu/', 'US', 'OU'),
+             ('Indiana University', 'http://www.indiana.edu/', 'US', ''),
+             ('University of Notre Dame du Lac', 'http://www.nd.edu/', 'US', 'Notre Dame'),
+             ('University of Maryland, College Park ', 'http://www.umd.edu/', 'US', 'UMCP'),
+             ('Vanderbilt University', 'http://www.vanderbilt.edu/', 'US', ''),
+             ('Institut National Polytechnique de Toulouse', 'http://www.inp-toulouse.fr/', 'FR', 'INP Toulouse'),
+             ('University of Houston', 'http://www.uh.edu/', 'US', 'UH'),
+             ('École Spéciale des Travaux Publics, du Bâtiment et de l\'Industrie', 'http://www.estp.fr/', 'FR', 'ESTP'),
+             ('Université Jean-Moulin (Lyon-III)', 'http://www.univ-lyon3.fr/', 'FR', 'Université Jean-Moulin'),
+             ('École Nationale Supérieure d\'Ingénieurs Électriciens de Grenoble', 'http://ense3.grenoble-inp.fr/', 'FR', 'ENSIEG'),
+             ('École Nationale Supérieure d\'Hydraulique et de Mécanique de Grenoble', 'http://ense3.grenoble-inp.fr/', 'FR', 'ENSHMG'),
+             ('Université de Rennes 1', 'http://www.univ-rennes1.fr/', 'FR', ''),
+             ('École Centrale Paris', 'http://www.ecp.fr/', 'FR', 'Centrale Paris'),
+             ('University of Dallas', 'http://www.udallas.edu/', 'US', ''),
+             ('Pontifical Catholic University of Chile', 'http://www.uc.cl/', 'CL', 'PUC'),
+             ('Universitat Oberta de Catalunya', 'http://www.uoc.edu/web/eng/', 'ES', 'UOC'),
+             ('University of California, Irvine', 'http://www.uci.edu/', 'US', 'UCI'),
+             ('Association Francophone de Management de Projet', 'http://www.afitep.fr/', 'FR', 'AFITEP'),
+             ('Centre Européen d\'Éducation Permanente', 'http://www.cedep.fr/', 'FR', 'CEDEP'),
+             ('Collège Interarmées de Défense', 'http://www.college.interarmees.defense.gouv.fr/', 'FR', ''),
+             ('Centre de Formation des Journalistes', 'http://www.cfpj.com/', 'FR', 'CFJ'),
+             ('Institut National des Hautes Études de Sécurité', 'http://www.inhes.interieur.gouv.fr/', 'FR', 'INHES');
+
+# vim:set syntax=mysql:
+
index 2e66895..c3035a7 100644 (file)
@@ -19,7 +19,7 @@
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-ini_set('include_path', dirname(__FILE__).'/../../include:' . dirname(__FILE__).'/../../classes:/usr/share/php');
+ini_set('include_path', dirname(__FILE__).'/../../include:' . dirname(__FILE__).'/../../core/classes:/usr/share/php');
 
 require_once 'xorg.inc.php';
 require_once 'xdb.php';