}
}
$this->text = trim($this->text);
+ $this->phones = Phone::formatFormArray($this->phones, $this->error, new ProfileVisibility($this->pub));
if ($this->removed == 1) {
- $this->text = '';
- return true;
+ if (S::user()->checkPerms('directory_ax') && Phone::hasPrivate($this->phones)) {
+ Platal::page()->trigWarning("L'adresse ne peut être supprimée car elle contient des informations pour lesquelles vous n'avez le droit d'édition.");
+ } else {
+ $this->text = '';
+ return true;
+ }
}
if ($format['requireGeocoding'] || $this->changed == 1) {
$this->countryId = null;
}
$this->geocodeChosen = null;
- $this->phones = Phone::formatFormArray($this->phones, $this->error, new ProfileVisibility($this->pub));
if ($format['postalText']) {
$this->formatPostalAddress();
}
Geocoder::getAreaId($this, $area);
}
- XDB::execute('INSERT INTO profile_addresses (pid, jobid, type, id, flags, accuracy,
- text, postalText, postalCode, localityId,
- subAdministrativeAreaId, administrativeAreaId,
- countryId, latitude, longitude, pub, comment,
- north, south, east, west)
- VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?},
- {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
+ XDB::execute('INSERT IGNORE INTO profile_addresses (pid, jobid, type, id, flags, accuracy,
+ text, postalText, postalCode, localityId,
+ subAdministrativeAreaId, administrativeAreaId,
+ countryId, latitude, longitude, pub, comment,
+ north, south, east, west)
+ VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?},
+ {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
$this->pid, $this->jobid, $this->type, $this->id, $this->flags, $this->accuracy,
$this->text, $this->postalText, $this->postalCode, $this->localityId,
$this->subAdministrativeAreaId, $this->administrativeAreaId,
* @param $data: an array of form formatted addresses.
* @param $pid, $type, $linkid: pid, type and id concerned by the update.
*/
- static public function saveFromArray(array $data, $pid, $type = self::LINK_PROFILE, $linkid = null)
+ static public function saveFromArray(array $data, $pid, $type = self::LINK_PROFILE, $linkid = null, $savePrivate = true)
{
foreach ($data as $id => $value) {
- if (!is_null($linkid)) {
- $value['id'] = $linkid;
- } else {
- $value['id'] = $id;
- }
- if (!is_null($pid)) {
- $value['pid'] = $pid;
- }
- if (!is_null($type)) {
- $value['type'] = $type;
+ if ($value['pub'] != 'private' || $savePrivate) {
+ if (!is_null($linkid)) {
+ $value['id'] = $linkid;
+ } else {
+ $value['id'] = $id;
+ }
+ if (!is_null($pid)) {
+ $value['pid'] = $pid;
+ }
+ if (!is_null($type)) {
+ $value['type'] = $type;
+ }
+ $address = new Address($value);
+ $address->save();
}
- $address = new Address($value);
- $address->save();
}
}
}
}
- return self::formArrayWalk($data, 'toFormArray', $success, true);
+ $addresses = self::formArrayWalk($data, 'toFormArray', $success, true);
+ usort($addresses, 'ProfileVisibility::comparePublicity');
+ return $addresses;
}
static public function formArrayToString(array $data)
return implode(', ', self::formArrayWalk($data, 'toString'));
}
+ static public function hasPrivate(array $addresses)
+ {
+ foreach ($addresses as $address) {
+ if ($address['pub'] == 'private') {
+ return true;
+ }
+ }
+ return false;
+ }
+
static public function iterate(array $pids = array(), array $types = array(),
array $jobids = array(), array $pubs = array())
{
{
$this->format();
if (!$this->isEmpty()) {
- XDB::execute('INSERT INTO profile_phones (pid, link_type, link_id, tel_id, tel_type,
- search_tel, display_tel, pub, comment)
- VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
+ XDB::execute('INSERT IGNORE INTO profile_phones (pid, link_type, link_id, tel_id, tel_type,
+ search_tel, display_tel, pub, comment)
+ VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
$this->pid, $this->link_type, $this->link_id, $this->id, $this->type,
$this->search, $this->display, $this->pub, $this->comment);
}
// Formats an array of form phones into an array of form formatted phones.
static public function formatFormArray(array $data, &$success = true, $maxPublicity = null)
{
- return self::formArrayWalk($data, 'toFormArray', $success, true, $maxPublicity);
+ $phones = self::formArrayWalk($data, 'toFormArray', $success, true, $maxPublicity);
+ usort($phones, 'ProfileVisibility::comparePublicity');
+ return $phones;
}
static public function formArrayToString(array $data)
return implode(', ', self::formArrayWalk($data, 'toString'));
}
+ static public function hasPrivate(array $phones)
+ {
+ foreach ($phones as $phone) {
+ if ($phone['pub'] == 'private') {
+ return true;
+ }
+ }
+ return false;
+ }
+
static public function iterate(array $pids = array(), array $link_types = array(),
array $link_ids = array(), array $pubs = array())
{
private $level;
- public function __construct($level = null)
+ public function __construct($level = null, $force = false)
{
- $this->setLevel($level);
+ if ($force) {
+ $this->forceLevel($level);
+ } else {
+ $this->setLevel($level);
+ }
}
public function setLevel($level = self::VIS_PUBLIC)
}
}
+ public function forceLevel($level)
+ {
+ if ($level != self::VIS_PRIVATE && $level != self::VIS_AX && $level != self::VIS_PUBLIC) {
+ Platal::page()->kill('Invalid visibility: ' . $level);
+ }
+
+ $this->level = $level;
+ }
+
public function level()
{
if ($this->level == null) {
{
return in_array($visibility, $this->levels());
}
+
+ static public function comparePublicity($a, $b)
+ {
+ $a_pub = new ProfileVisibility($a['pub'], true);
+ $b_pub = new ProfileVisibility($b['pub'], true);
+
+ return !$a_pub->isVisible($b_pub->level());
+ }
}
}
/** Return the latest pending issue of the newsletter.
+ * @p $create Whether to create an empty issue if no pending issue exist.
* @return Either null, or a NL object.
*/
- public function getPendingIssue()
+ public function getPendingIssue($create = false)
{
$res = XDB::query('SELECT MAX(id)
FROM newsletter_issues
WHERE nlid = {?} AND state = \'new\'',
$this->id);
- if ($res->numRows()) {
- $id = $res->fetchOneCell();
+ $id = $res->fetchOneCell();
+ if ($id != null) {
+ return new NLIssue($id, $this);
+ } else if ($create) {
+ $id = $this->createPending();
return new NLIssue($id, $this);
} else {
return null;
{
if ($action == 'yes') {
require_once 'newsletter.inc.php';
- NewsLetter::subscribe();
+ NewsLetter::forGroup(NewsLetter::GROUP_XORG)->subscribe();
$this->UpdateOnYes();
}
public static function IsCandidate(User &$user, $candidate)
{
require_once 'newsletter.inc.php';
- $isSubscribed = NewsLetter::subscriptionState();
+ $isSubscribed = NewsLetter::forGroup(NewsLetter::GROUP_XORG)->subscriptionState();
if ($isSubscribed) {
Reminder::MarkCandidateAsAccepted($user->id(), $candidate);
}
public function commit()
{
- $nl = NewsLetter::forGroup(NewsLetter::GROUP_XORG)->getPendingIssue();
+ $nl = NewsLetter::forGroup(NewsLetter::GROUP_XORG)->getPendingIssue(true);
$nl->saveArticle($this->art);
return true;
}
s/^.*\tFO\t\w{8}\tSFAF CIIA$//;
s/^.*\tFO\t\w{8}\tINSEE$//;
s/^.*\tFO\t\w{8}\tEconomiste Statisticien$//;
+ s/^.*\tFO\t\w{8}\tProgramme International de l'Ec Polytechnique$//;
+ s/^.*\tFO\t\w{8}\tInst d'Optique théorique et appliquée$//;
+ s/^.*\tFO\t\w{8}\tExpert-Comptable$//;
+ s/^.*\tFO\t\w{8}\tDoct de l'Ec polytechniqueHumanité & Sc sociales$//;
s/^\n//;
# Places education in third place as if it is not reconized, it will only be stored as a description.
s/^(.*\tFO\t\w{8}\t)/\1\t\t/;
s/\t\t\tIngENSIMAG$/\tENSIMAG\tIng.\t/;
s/\t\t\tIngESTP$/\tESTP\tIng.\t/;
s/\t\t\tIng IEG$/\tENSIEG\tIng.\t/;
+ s/\t\t\tDEA Ponts$/\tPonts\tDEA\t/;
+ s/\t\t\tMScPonts$/\tPonts\tMSc\t/;
+ s/\t\t\tMSc Ponts$/\tPonts\tMSc\t/;
s/\t\t\tMIB Ponts$/\tPonts\tMIB\t/;
s/\t\t\tMPA Ponts$/\tPonts\tMBA\t/;
s/\t\t\tMBA Ponts et Chaussées$/\tPonts\tMBA\t/;
s/\t\t\tMBA Ponts$/\tPonts\tMBA\t/;
+ s/\t\t\tMBA Ponts Paris$/\tPonts\tMBA\t/;
s/\t\t\tMaster PC$/\tPonts\tM\t/;
s/\t\t\tENPC$/\tPonts\tIng.\t/;
s/\t\t\tMIB ENPC$/\tPonts\tMIB\t/;
s/\t\t\tMBA ENPC$/\tPonts\tMBA\t/;
s/\t\t\tMaster ENPC Action publique$/\tPonts\tM\tAction publique/;
s/\t\t\tIngcivPC$/\tPonts\tIng.\t/;
+ s/\t\t\tDoct ENPC$/\tPonts\tPhD\t/;
s/\t\t\tIngSupelec$/\tSupélec\tIng.\t/;
s/\t\t\tIngESE$/\tSupélec\tIng.\t/;
s/\t\t\tESE$/\tSupélec\tIng.\t/;
s/\t\t\tIng AgroParisTech$/\tAgroParisTech\tIng.\t/;
s/\t\t\tAgro Paris Tech$/\tAgroParisTech\tIng.\t/;
s/\t\t\tDEA EERN$/\tAgroParisTech\tDEA\tEERN/;
+ s/\t\t\tDEA Agro Paris$/\tAgroParisTech\tDEA\t/;
s/\t\t\tDEA EERN Economie de l'Environnement$/\tAgroParisTech\tDEA\tEERN Economie de l'Environnement/;
s/\t\t\tMaster AgroParisTech$/\tAgroParisTech\tM\t/;
s/\t\t\tIngENST Bretagne$/\tTélécom Bretagne\tIng.\t/;
s/\t\t\tIngENST$/\tTélécom\tIng.\t/;
s/\t\t\tENSTP$/\tTélécom\tIng.\t/;
s/\t\t\tIngcivTéléc$/\tTélécom\tIng.\t/;
+ s/\t\t\tDEA ENST PhysAppliquée "Lasers et Matière"$/\tTélécom\tDEA\tPhysique appliquée - Lasers et Matière/;
s/\t\t\tMastère SSIR de l'ENST$/\tTélécom\tM\tSSIR/;
s/\t\t\tMSc Télécom Jussieu$/\tTélécom\tMSc\t/;
s/\t\t\tMaster CAR ENST$/\tTélécom\tM\tCAR/;
+ s/\t\t\tDoctENST en Informatique et Réseaux$/\tTélécom\tPhD\tInformatique/;
s/\t\t\tDoctENST$/\tTélécom\tPhD\t/;
s/\t\t\tPhDTéléc$/\tTélécom\tPhD\t/;
s/\t\t\tPhD Télécom$/\tTélécom\tPhD\t/;
+ s/\t\t\tPhD ENST$/\tTélécom\tPhD\t/;
+ s/\t\t\tPhD Téléc$/\tTélécom\tPhD\t/;
+ s/\t\t\tEcole Nationale Supérieure du Pétrole et des Moteurs$/\tENSPM\tIng.\t/;
s/\t\t\tIngENSPM$/\tENSPM\tIng.\t/;
s/\t\t\tIngIFP$/\tENSPM\tIng.\t/;
s/\t\t\tIngENSPM Options Moteurs$/\tENSPM\tIng.\tOptions Moteurs/;
s/\t\t\tDoctorat Supaéro$/\tSUPAERO\tPhD\t/;
s/\t\t\tSupAéro : PhD$/\tSUPAERO\tPhD\t/;
s/\t\t\tPhD Supaéro$/\tSUPAERO\tPhD\t/;
+ s/\t\t\tDoct SupAéro$/\tSUPAERO\tPhD\t/;
s/\t\t\tIngcivGM$/\tÉcole Nationale Supérieure du Génie Maritime\tIng.\t/;
s/\t\t\tENSGM$/\tÉcole Nationale Supérieure du Génie Maritime\tIng.\t/;
s/\t\t\tIngcivENSTA$/\tENSTA\tIng.\t/;
s/\t\t\tIng ISCM$/\tISMCM Saint-Ouen\tIng.\t/;
s/\t\t\tISMCM Saint-Ouen$/\tISMCM Saint-Ouen\tIng.\t/;
s/\t\t\tIng ENSIEG$/\tENSIEG\tIng.\t/;
+ s/\t\t\tÉcole Nationale de la Statistique et de l'Administration Économique ParisTech$/\tENSAE\tIng.\t/;
s/\t\t\tCESS de l'ENSAÉ$/\tENSAE\tIng.\t/;
s/\t\t\tENSAE$/\tENSAE\tIng.\t/;
s/\t\t\tIng ENSAE$/\tENSAE\tIng.\t/;
s/\t\t\tDoctENSAE$/\tENSAE\tPhD\t/;
s/\t\t\tIng de l'Institut Polytechnique de Grenoble$/\tGrenoble INP\tIng.\t/;
s/\t\t\tDEA INPG$/\tGrenoble INP\tDEA\t/;
+ s/\t\t\tIng INPG$/\tGrenoble INP\tIng.\t/;
s/\t\t\tDoctINPG$/\tGrenoble INP\tPhD\t/;
s/\t\t\tPhD INPG$/\tGrenoble INP\tPhD\t/;
s/\t\t\tPhD : INPG$/\tGrenoble INP\tPhD\t/;
+ s/\t\t\tMSc Toulouse School of Economics$/\tTSE\tMSc\t/;
+ s/\t\t\tPhD Toulouse School of Economics$/\tTSE\tPhD\t/;
s/\t\t\tDEA IHM INPT$/\tINP Toulouse\tDEA\tIHM/;
s/\t\t\tDocteur INP Toulouse maths info$/\tINP Toulouse\tPhD\tMathématiques Informatique/;
s/\t\t\tDEA INPL$/\tINPL\tDEA\t/;
s/\t\t\tESPCI Ecole Sup Phys et de Chimie Industrielles$/\tESPCI\t\t/;
s/\t\t\tIngESPCI$/\tESPCI\tIng.\t/;
s/\t\t\tIng ESPCI$/\tESPCI\tIng.\t/;
+ s/\t\t\tIng ESPCI ParisTech$/\tESPCI\tIng.\t/;
s/\t\t\tIngENSEEIHT$/\tENSEEIHT\tIng.\t/;
s/\t\t\tIngENSEEIHT Informatique$/\tENSEEIHT\tIng.\tInformatique/;
s/\t\t\tIngENSEEIHT Toulouse$/\tENSEEIHT\tIng.\t/;
s/\t\t\tDoctECP$/\tCentrale Paris\tPhD\t/;
s/\t\t\tDEA TACS ENS Cachan$/\tENS Cachan\tDEA\tTACS/;
s/\t\t\tDEA ENS Cachan$/\tENS Cachan\tDEA\t/;
+ s/\t\t\tDEA Normal Sup Cachan$/\tENS Cachan\tDEA\t/;
s/\t\t\tENS Cachan$/\tENS Cachan\tM\t/;
s/\t\t\tMSc ENS Cachan$/\tENS Cachan\tMSc\t/;
+ s/\t\t\tMSc Normale Sup Cachan$/\tENS Cachan\tMSc\t/;
s/\t\t\tDoct\ ENS CACHAN Math Appliquée$/\tENS Cachan\tPhD\tMathématiques Appliquées/;
s/\t\t\tPhD ENS Cachan$/\tENS Cachan\tPhD\t/;
s/\t\t\tPhD Cachan$/\tENS Cachan\tPhD\t/;
s/\t\t\tENS Lyon$/\tENS Lyon\tM\t/;
s/\t\t\tDoct ENS Lyon$/\tENS Lyon\tPhD\t/;
s/\t\t\tDoctorat ENS Lyon$/\tENS Lyon\tPhD\t/;
+ s/\t\t\tDEA Normale Sup$/\tENS Ulm\tDEA\t/;
s/\t\t\tDEA : ENS$/\tENS Ulm\tDEA\t/;
s/\t\t\tDEA ENS$/\tENS Ulm\tDEA\t/;
+ s/\t\t\tDEA Informatique ENS$/\tENS Ulm\tDEA\tInformatique/;
s/\t\t\tENS Ulm DEA$/\tENS Ulm\tDEA\t/;
s/\t\t\tDEA ENS Ulm$/\tENS Ulm\tDEA\t/;
s/\t\t\tDEA : ENS Ulm$/\tENS Ulm\tDEA\t/;
s/\t\t\tENS Ulm :DEA$/\tENS Ulm\tDEA\t/;
s/\t\t\tENS$/\tENS Ulm\tM\t/;
s/\t\t\tENS Ulm$/\tENS Ulm\tM\t/;
+ s/\t\t\tMSc Normale Sup$/\tENS Ulm\tMSc\t/;
s/\t\t\tMSc ENS Ulm$/\tENS Ulm\tMSc\t/;
s/\t\t\tMSc ENS$/\tENS Ulm\tMSc\t/;
s/\t\t\tMS ENS Ulm$/\tENS Ulm\tMSc\t/;
s/\t\t\tMBA Collède des Ing$/\tCDI\tMBA\t/;
s/\t\t\tCDI$/\tCDI\tMBA\t/;
s/\t\t\tMBA CDI$/\tCDI\tMBA\t/;
+ s/\t\t\tDES Sc IAE Grenoble$/\tIAE de Grenoble\tDESS\t/;
s/\t\t\tMBA Institut d'Administration des Entreprises$/\tIAE de Paris\tMBA\t/;
s/\t\t\tMBA IAE$/\tIAE de Paris\tMBA\t/;
s/\t\t\tMS IAE$/\tIAE de Paris\tMSc\t/;
s/\t\t\tMBA Centre de Perfect aux Affaires$/\tCPA de Paris\tMBA\t/;
s/\t\t\tMBA Centre de Perfection aux Affaires$/\tCPA de Paris\tMBA\t/;
s/\t\t\tCPA$/\tCPA de Paris\tMBA\t/;
+ s/\t\t\tCPA de Paris$/\tCPA de Paris\tMBA\t/;
s/\t\t\tCPA 73\/2$/\tCPA de Paris\tMBA\t/;
s/\t\t\tMBA CPA$/\tCPA de Paris\tMBA\t/;
s/\t\t\tMBA CPA$/\tCPA de Paris\tMBA\t/;
s/\t\t\tCPA Lyon$/\tCPA de Lyon\tMBA\t/;
s/\t\t\tCPA Nord$/\tCPA du Nord\tMBA\t/;
s/\t\t\tIHEDN$/\tIHEDN\tDipl.\t/;
+ s/\t\t\tMastère ENA$/\tENA\tM\t/;
s/\t\t\tENA$/\tENA\tDipl.\t/;
s/\t\t\tAncElENA$/\tENA\tDipl.\t/;
s/\t\t\tDEA Economie EHESS-ENSAE$/\tEHESS\tDEA\tÉconomie/;
s/\t\t\tEHESS DEA$/\tEHESS\tDEA\t/;
s/\t\t\tEHESS$/\tEHESS\tDEA\t/;
s/\t\t\tMS EHESS$/\tEHESS\tMSc\t/;
+ s/\t\t\tMs EHESS$/\tEHESS\tMSc\t/;
s/\t\t\tEHESS Master II Art & Langage$/\tEHESS\tM\tArt et Langage/;
s/\t\t\tDoct3e cycle EHESS$/\tEHESS\tPhD\t/;
s/\t\t\tDoct EHESS Sc cognitives$/\tEHESS\tPhD\tSciences cognitives/;
s/\t\t\tEHESS : PhD$/\tEHESS\tPhD\t/;
s/\t\t\tEHESS Phd$/\tEHESS\tPhD\t/;
s/\t\t\tPhD EHESS$/\tEHESS\tPhD\t/;
- s/\t\t\tDoctorat HEC Finance$/\tHEC\tPhD\tFinance/;
+ s/\t\t\tPhD de l'EHESS$/\tEHESS\tPhD\t/;
s/\t\t\tDESS CAAE Univ Paris I$/\tPanthéon-Sorbonne\tDESS\t/;
s/\t\t\tDEA MMME Sorbonne$/\tPanthéon-Sorbonne\tDEA\tModélisation et Méthodes Mathématiques en Économie/;
s/\t\t\tDEA MMME$/\tPanthéon-Sorbonne\tDEA\tModélisation et Méthodes Mathématiques en Économie/;
s/\t\t\tDEA Univ Paris 1er$/\tPanthéon-Sorbonne\tDEA\t/;
s/\t\t\tDEA Univ Paris I Panthéon-Sorbonne$/\tPanthéon-Sorbonne\tDEA\t/;
s/\t\t\tDEA Economie Paris I$/\tPanthéon-Sorbonne\tDEA\tÉconomie/;
+ s/\t\t\tDEA Economie Univ Paris I$/\tPanthéon-Sorbonne\tDEA\tÉconomie/;
s/\t\t\tMaster COSI Univ Paris I La Sorbonne$/\tPanthéon-Sorbonne\tM\tCOSI/;
+ s/\t\t\tMaster COSI Univ Paris I$/\tPanthéon-Sorbonne\tM\tCOSI/;
s/\t\t\tMS Univ Paris 1$/\tPanthéon-Sorbonne\tMSc\t/;
s/\t\t\tMS Univ Paris I Panthéon Sorbonne$/\tPanthéon-Sorbonne\tMSc\t/;
s/\t\t\tMSc Univ Paris I$/\tPanthéon-Sorbonne\tMSc\t/;
s/\t\t\tDEA Univ Paris II Panthéon - Assas$/\tAssas\tDEA\t/;
s/\t\t\tDEA Univ Paris II$/\tAssas\tDEA\t/;
s/\t\t\tMS Univ Paris 2$/\tAssas\tMSc\t/;
+ s/\t\t\tMSc Univ Paris II$/\tAssas\tMSc\t/;
+ s/\t\t\tPhD Univ Paris II$/\tAssas\tPhD\t/;
s/\t\t\tDEA Univ Paris IV$/\tParis-Sorbonne\tDEA\t/;
+ s/\t\t\tDEA Univ Paris 4$/\tParis-Sorbonne\tDEA\t/;
+ s/\t\t\tMSc Univ Paris IV$/\tParis-Sorbonne\tMSc\t/;
s/\t\t\tDoct Paris IV Histoire Moderne$/\tParis-Sorbonne\tPhD\tHistoire Moderne/;
s/\t\t\tDoctUnivParis IV$/\tParis-Sorbonne\tPhD\t/;
s/\t\t\tPhD Univ Paris 4$/\tParis-Sorbonne\tPhD\t/;
- s/\t\t\tDEA Univ Paris V$/\tParis-Sorbonne\tDEA\t/;
- s/\t\t\tDEA Univ Paris 5$/\tParis-Sorbonne\tDEA\t/;
+ s/\t\t\tDEA Univ Paris V$/\tParis-Descartes\tDEA\t/;
+ s/\t\t\tDEA Univ Paris 5$/\tParis-Descartes\tDEA\t/;
+ s/\t\t\tMSc Univ Paris V$/\tParis-Descartes\tMSc\t/;
s/\t\t\tDoctUnivParis V$/\tParis-Descartes\tPhD\t/;
s/\t\t\tPhD Univ Paris V$/\tParis-Descartes\tPhD\t/;
s/\t\t\tPhD Univ Paris 5$/\tParis-Descartes\tPhD\t/;
+ s/\t\t\tDEA Acoustique musicale Univ Paris VI$/\tUPMC\tDEA\tAcoustique musicale/;
+ s/\t\t\tDEA de Biologie Univ Paris VI$/\tUPMC\tDEA\tBiologie/;
s/\t\t\tDEA Univ Paris 6$/\tUPMC\tDEA\t/;
s/\t\t\tDEA Univ Paris VI Jussieu$/\tUPMC\tDEA\t/;
s/\t\t\tDEA OJME Paris VI$/\tUPMC\t\tOJME/;
s/\t\t\tDEA Probab & Applications Paris 6$/\tUPMC\tDEA\tProbabilités et applications/;
s/\t\t\tDEA Stat Univ Paris 6$/\tUPMC\tDEA\tStatistiques/;
s/\t\t\tDEA Paris 6$/\tUPMC\tDEA\t/;
+ s/\t\t\tDiplôme d'Études Approfondies Université Pierre-et-Marie-Curie Paris-VI$/\tUPMC\tDEA\t/;
s/\t\t\tDEA univ Paris VI$/\tUPMC\tDEA\t/;
s/\t\t\tDEA Probabilités et Finance Paris VI$/\tUPMC\tDEA\tProbabilités et Finance/;
s/\t\t\tDEA Sc des Matériaux Paris VI$/\tUPMC\tDEA\tSciences des matériaux/;
s/\t\t\tMS Univ Paris VI Pierre & Marie Curie$/\tUPMC\tMSc\t/;
s/\t\t\tDoctUnivParis VI en Ecologie$/\tUPMC\tPhD\tÉcologie/;
s/\t\t\tDoct Chimie Univ Paris VI$/\tUPMC\tPhD\tChimie/;
+ s/\t\t\tDocten Chimie Univ Paris VI$/\tUPMC\tPhD\tChimie/;
s/\t\t\tDoctUnivParis VI$/\tUPMC\tPhD\t/;
s/\t\t\tDoctès Sc Informatique\/Micro-électronique Univ Paris VI$/\tUPMC\tPhD\tInformatique Micro-électronique/;
s/\t\t\tDocten Informatique \- Paris 6$/\tUPMC\tPhD\tInformatique/;
s/\t\t\tThése UnivParis VI SpécPhysique des Solides$/\tUPMC\tPhD\tPhysique des Solides/;
s/\t\t\tDEUG Japonais Paris VII$/\tParis-Diderot\tDEUG\tJaponnais/;
s/\t\t\tDEA Univ Paris 7$/\tParis-Diderot\tDEA\t/;
+ s/\t\t\tDEA UnivParis VII$/\tParis-Diderot\tDEA\t/;
+ s/\t\t\tDEA Paris VII$/\tParis-Diderot\tDEA\t/;
s/\t\t\tDEA Télédétection Paris VII$/\tParis-Diderot\tDEA\tTélédétection/;
s/\t\t\tDEA Jussieu Paris 7$/\tParis-Diderot\tDEA\t/;
s/\t\t\tDEA Univ Paris VII$/\tParis-Diderot\tDEA\t/;
s/\t\t\tDEA Univ paris VII Diderot-Jussieu$/\tParis-Diderot\tDEA\t/;
s/\t\t\tMSc Univ Paris VII$/\tParis-Diderot\tMSc\t/;
s/\t\t\tMS Univ Paris VII$/\tParis-Diderot\tMSc\t/;
+ s/\t\t\tMSc Paris VII$/\tParis-Diderot\tMSc\t/;
s/\t\t\tDoctUnivParis VII$/\tParis-Diderot\tPhD\t/;
s/\t\t\tDoct Physique des Solides Univ Paris VII$/\tParis-Diderot\tPhD\tPhysique des Solides/;
s/\t\t\tDoct3È Cycle Univ Paris 7$/\tParis-Diderot\tPhD\t/;
s/\t\t\tThèse de DoctUnivParis VII$/\tParis-Diderot\tPhD\t/;
s/\t\t\tPhD Univ Paris 7$/\tParis-Diderot\tPhD\t/;
+ s/\t\t\tPhD UnivParis VII$/\tParis-Diderot\tPhD\t/;
s/\t\t\tPhD Univ Paris 7$/\tParis-Diderot\tPhD\t/;
s/\t\t\tPhD Univ Paris VII$/\tParis-Diderot\tPhD\t/;
s/\t\t\tPhD Univ Paris 8$/\tVincennes-Saint-Denis\tPhD\t/;
s/\t\t\tDEA Univ Paris IX$/\tDauphine\tDEA\t/;
s/\t\t\tDEA Paris Dauphine$/\tDauphine\tDEA\t/;
s/\t\t\tMSc Univ Paris IX$/\tDauphine\tMSc\t/;
+ s/\t\t\tMSc Paris IX$/\tDauphine\tMSc\t/;
s/\t\t\tDoctUniv Paris IX$/\tDauphine\tPhD\t/;
s/\t\t\tDoctUnivParis Dauphine$/\tDauphine\tPhD\t/;
s/\t\t\tDoctUnivParis IX$/\tDauphine\tPhD\t/;
s/\t\t\tDocten Droit des Affaires Univ Paris 12$/\tParis-Val de Marne\tPhD\tDroit des Affaires/;
s/\t\t\tPhD Univ Paris 12$/\tParis-Val de Marne\tPhD\t/;
s/\t\t\tPhD Univ Paris XII$/\tParis-Val de Marne\tPhD\t/;
+ s/\t\t\tDoctès ScPhys Univ Paris XIII$/\tParis-Nord\tPhD\tPhysique/;
s/\t\t\tDoctUnivParis-Nord$/\tParis-Nord\tPhD\t/;
s/\t\t\tPhD Univ Paris 13$/\tParis-Nord\tPhD\t/;
s/\t\t\tPhD Univ Paris XIII$/\tParis-Nord\tPhD\t/;
s/\t\t\tDoct Univ Toulouse III$/\tUniversité Paul-Sabatier\tPhD\t/;
s/\t\t\tPhD Univ Paul Sabatier Toulouse$/\tUniversité Paul-Sabatier\tPhD\t/;
s/\t\t\tPhD Univ Toulouse III$/\tUniversité Paul-Sabatier\tPhD\t/;
+ s/\t\t\tPhD Université Paul Sabatier Toulouse$/\tUniversité Paul-Sabatier\tPhD\t/;
s/\t\t\tMSc Univ Grenoble I$/\tUJF\tMSc\t/;
+ s/\t\t\tPhD Univ Grenoble I$/\tUJF\tPhD\t/;
s/\t\t\tDEA Informatique Univ de Grenoble$/\tUJF\tDEA\tInformatique/;
s/\t\t\tDoctUnivGrenoble$/\tUJF\tPhD\t/;
s/\t\t\tPhD Grenoble$/\tUJF\tPhD\t/;
+ s/\t\t\tDES Sc Informatique USTL$/\tUniversité Lille I\tDESS\tInformatique/;
+ s/\t\t\tMSc Univ Lyon I$/\tUniversité Claude Bernard\tMSc\t/;
s/\t\t\tDoctUnivLyon I$/\tUniversité Claude Bernard\tPhD\t/;
s/\t\t\tDoct Univ Lyon I$/\tUniversité Claude Bernard\tPhD\t/;
s/\t\t\tDoct Université Lyon I$/\tUniversité Claude Bernard\tPhD\t/;
s/\t\t\tDESGE Lyon III$/\tUniversité Jean-Moulin\tDESS\tDESGE/;
s/\t\t\tDoct Aix Marseille II$/\tUniversité de la Méditerranée\tPhD\t/;
+ s/\t\t\tDocten Physique Univ Aix-Marseille I$/\tUniversité de Provence\tPhD\tPhysique/;
+ s/\t\t\tPhD Univ Aix-Marseille I$/\tUniversité de Provence\tPhD\t/;
s/\t\t\tDoctUnivde Rennes$/\tUniversité de Rennes 1\tPhD\t/;
s/\t\t\tLic Théologie & Sc des religions Univ Strasbourg$/\tUDS\tLic.\tThéologie Science des religion/;
s/\t\t\tDoct Univ Strasbourg$/\tUDS\tPhD\t/;
s/\t\t\tDocten Informatique et Applications de l'Univ de Caen$/\tUCBN\tPhD\tInformatique/;
s/\t\t\tDEA IGP Bordeaux$/\tUniversité de Bordeaux\tDEA\tIGP/;
+ s/\t\t\tMSc Univ Bordeaux$/\tUniversité de Bordeaux\tMSc\t/;
+ s/\t\t\tPhD Univ Bordeaux$/\tUniversité de Bordeaux\tPhD\t/;
s/\t\t\tHDR UBO$/\tUBO\tHDR\t/;
s/\t\t\tThèse UTC$/\tUTC\tPhD\t/;
+ s/\t\t\tMBA Inst européen d'Adm des Affaires$/\tINSEAD\tMBA\t/;
s/\t\t\tMBA Institut Européen d'Administration des Affaires$/\tINSEAD\tMBA\t/;
s/\t\t\tMBA Inst Europ d'Adm des Aff$/\tINSEAD\tMBA\t/;
s/\t\t\tINSEAD : MBA$/\tINSEAD\tMBA\t/;
s/\t\t\tINSEAD - AMP$/\tINSEAD\tMBA\tAMP/;
s/\t\t\tMBA INSEAD$/\tINSEAD\tMBA\t/;
s/\t\t\tINSEAD$/\tINSEAD\tMBA\t/;
+ s/\t\t\tINSEAD Adv Management Prog$/\tINSEAD\tMBA\t/;
s/\t\t\tScPo Gestion et Stratégie des Entreprises$/\tSciences Po\tDipl.\tGestion et Stratégie des Entreprises/;
s/\t\t\tScPo Economie$/\tSciences Po\tDipl.\tÉconomie/;
s/\t\t\tIEP$/\tSciences Po\tDipl.\t/;
s/\t\t\tMS IEP Paris$/\tSciences Po\tMSc\t/;
s/\t\t\tMS IEP$/\tSciences Po\tMSc\t/;
s/\t\t\tMSc IEP$/\tSciences Po\tMSc\t/;
+ s/\t\t\tMs IEP$/\tSciences Po\tMSc\t/;
+ s/\t\t\tMSc Sc Po$/\tSciences Po\tMSc\t/;
+ s/\t\t\tMSc Institut d'Etudes Politiques de Paris$/\tSciences Po\tMSc\t/;
s/\t\t\tEAPB Ecole Architecture Paris Belleville$/\tENSAPB\tDipl.\t/;
s/\t\t\tEAPLV Ecole Architecture Paris La Villette$/\tENSAPLV\tDipl.\t/;
s/\t\t\tEAVT Ecole d'Architecture de Marne la vallée$/\tEAVT\tDipl.\t/;
s/\t\t\tCEPE$/\tCEPE\tDipl.\t/;
s/\t\t\tCEPE Ecole Pratique des Hautes Etudes$/\tCEPE\tDipl.\t/;
s/\t\t\tECE$/\tECE\tIng.\t/;
+ s/\t\t\tChear-SN45$/\tCHEAr\tDipl.\tSN45/;
s/\t\t\tCHEAR$/\tCHEAr\tDipl.\t/;
s/\t\t\tCHEA$/\tCHEAr\tDipl.\t/;
s/\t\t\tIHEDN-CHEAR$/\tCHEAr\tDipl.\tIHEDN/;
s/\t\t\tHEC : MS$/\tHEC\tMSc\t/;
s/\t\t\tMaster HEC Finance$/\tHEC\tM\tFinance/;
s/\t\t\tMS X-HEC Finance$/\tHEC\tMSc\tFinance/;
+ s/\t\t\tMSc HEC Finance Internationale$/\tHEC\tMSc\tFinance Internationale/;
s/\t\t\tMBA CPA-HEC$/\tHEC\tMBA\tCPA/;
+ s/\t\t\tHEC Paris Business School$/\tHEC\tMBA\t/;
+ s/\t\t\tExecutive MBA à HEC$/\tHEC\tMBA\t/;
s/\t\t\tExecutive MBA HEC$/\tHEC\tMBA\t/;
s/\t\t\tMastère Gestion Financière HEC$/\tHEC\tM\tGestion Financière/;
s/\t\t\tMBA HEC\/CPA$/\tHEC\tMBA\t/;
s/\t\t\tHEC Entrepreneurs$/\tHEC\tM\tEntrepreneurs/;
s/\t\t\tHEC Execut Management \/ CPA$/\tHEC\tMBA\t/;
s/\t\t\tMSc HEC Start Management$/\tHEC\tMSc\tManagement/;
+ s/\t\t\tDoctorat HEC Finance$/\tHEC\tPhD\tFinance/;
+ s/\t\t\tPhD HEC Montréal Administration$/\tHEC\tPhD\t/;
s/\t\t\tCEIPI$/\tCEIPI\tDipl.\t/;
s/\t\t\tCEDEP cycle 43$/\tCEDEP\tDipl.\t/;
s/\t\t\tCEDEP$/\tCEDEP\tDipl.\t/;
+ s/\t\t\tEcole du Personnel Navigant d'Essais et de Réception$/\tEPNER\tDipl.\t/;
s/\t\t\tEPNER$/\tEPNER\tDipl.\t/;
s/\t\t\tIFSBM$/\tIFSBM\tDipl.\t/;
s/\t\t\tESG$/\tESG Paris\tDipl.\t/;
+ s/\t\t\tMBA ESCP-Europe$/\tESCP-EAP\tMBA\t/;
s/\t\t\tMBA ESCP$/\tESCP-EAP\tMBA\t/;
s/\t\t\tMBA ESCP-EAP$/\tESCP-EAP\tMBA\t/;
s/\t\t\tMBA ESCP EAP$/\tESCP-EAP\tMBA\t/;
s/\t\t\tIHEDN 26° session$/\tIHEDN\tDipl.\t/;
s/\t\t\tIHEE$/\tIHEE\tDipl.\t/;
s/\t\t\tEcole de l'Air$/\tÉcole de l'Air\tDipl.\t/;
+ s/\t\t\tEcole de l'air$/\tÉcole de l'Air\tDipl.\t/;
s/\t\t\tIHESI$/\tINHES\tDipl.\t/;
+ s/\t\t\tINHESJ$/\tINHES\tDipl.\t/;
s/\t\t\tAFITEP$/\tAFITEP\tDipl.\t/;
# Foreign universities.
+ s/\t\t\tCertif Program in Syst Engineering MIT$/\tMIT\tLic.\tSystem Engineering/;
s/\t\t\tMS MIT$/\tMIT\tMSc\t/;
s/\t\t\tMBA MIT$/\tMIT\tMBA\t/;
s/\t\t\tMS MIT TPP$/\tMIT\tMSc\tTTP/;
s/\t\t\tMBA Purdue$/\tPurdue University\tMBA\t/;
s/\t\t\tPhD Purdue$/\tPurdue University\tPhD\t/;
s/\t\t\tDoctd'ArchitectUniversRome$/\tUniversity of Rome\tPhD\tArchitecture/;
+ s/\t\t\tMSc Chimie ETH Zurich$/\tETH Zürich\tMSc\tChimie/;
s/\t\t\tMSc Univ ETH Zurich$/\tETH Zürich\tMSc\t/;
s/\t\t\tMSc Eidgenossische Tech Hochschule Zurich$/\tETH Zürich\tMSc\t/;
s/\t\t\tMSc Eidgenossische Tech Hochschule Zurich$/\tETH Zürich\tMSc\t/;
s/\t\t\tMSc Eidgenössische Technische Hochschule Zürich$/\tETH Zürich\tMSc\t/;
s/\t\t\tDoctEcPolytZurich$/\tETH Zürich\tPhD\t/;
s/\t\t\tDoct Eidgenössische Technische Hochschule Zürich$/\tETH Zürich\tPhD\t/;
+ s/\t\t\tPhD Eidgenössische Technische Hochschule Zürich$/\tETH Zürich\tPhD\t/;
s/\t\t\tMS Univ Zürich$/\tUniversität Zürich\tMSc\t/;
s/\t\t\tDoct Univ Zurich$/\tUniversität Zürich\tPhD\t/;
s/\t\t\tIng EP Fédérale Lausanne$/\tEPFL\tIng.\t/;
s/\t\t\tIng Ecole Polytechnique Lausanne$/\tEPFL\tIng.\t/;
s/\t\t\tIng EP Lausanne$/\tEPFL\tIng.\t/;
+ s/\t\t\tIng Ecole Polytechnique fédérale de Lausanne$/\tEPFL\tIng.\t/;
+ s/\t\t\tIng École Polytechnique Fédérale de Lausanne$/\tEPFL\tIng.\t/;
+ s/\t\t\tIng EP fédérale de Lausanne$/\tEPFL\tIng.\t/;
s/\t\t\tMSc Ecole polytechnique fédérale de Lausanne$/\tEPFL\tMSc\t/;
+ s/\t\t\tMSc EP fédérale de Lausanne$/\tEPFL\tMSc\t/;
s/\t\t\tEP Fédérale Lausanne$/\tEPFL\tM\t/;
s/\t\t\tcycle postgrade EPFL option Finance$/\tEPFL\tM\tFinance/;
s/\t\t\tEPFL Génie Mécanique$/\tEPFL\tM\t/;
s/\t\t\tDoct Ecole polytechnique fédérale de Lausanne$/\tEPFL\tPhD\t/;
+ s/\t\t\tDoct EP Fédérale Lausanne$/\tEPFL\tPhD\t/;
s/\t\t\tPhD Univ Lausanne$/\tUNIL\tPhD\t/;
s/\t\t\tMBA Institute for Management Development$/\tIMD\tMBA\t/;
s/\t\t\tIMD Lausanne$/\tIMD\tMBA\t/;
s/\t\t\tMS Wisconsin USA$/\tUW-Madison\tMSc\t/;
s/\t\t\tMBA Univ Wisconsin-Madison$/\tUW-Madison\tMBA\t/;
s/\t\t\tMS Wisconsin Madison$/\tUW-Madison\tMSc\t/;
+ s/\t\t\tMSc Univ of Wisconsin-Madison$/\tUW-Madison\tMSc\t/;
s/\t\t\tPhD Wisconsin$/\tUW-Madison\tPhD\t/;
s/\t\t\tMS Berkeley$/\tBerkeley\tMSc\t/;
+ s/\t\t\tMSc University of California, Berkeley$/\tBerkeley\tMSc\t/;
s/\t\t\tMEcoUcBerkeley$/\tBerkeley\tME\t/;
s/\t\t\tMEcoAgricBerkeley$/\tBerkeley\tME\t/;
s/\t\t\tUC Berkeley$/\tBerkeley\tM\t/;
s/\t\t\tPhD Salt Lake City$/\tUniversity of Utah\tPhD\t/;
s/\t\t\tBA Univ Cornell$/\tCornell\tBA\t/;
s/\t\t\tMS Cornell NY$/\tCornell\tMSc\t/;
+ s/\t\t\tMSc Cornell University$/\tCornell\tMSc\t/;
+ s/\t\t\tMSc Cornell Univ$/\tCornell\tMSc\t/;
s/\t\t\tMBA Cornell University$/\tCornell\tMBA\t/;
s/\t\t\tM Eng Cornell University$/\tCornell\tMEng\t/;
s/\t\t\tME Univ Cornell$/\tCornell\tME\t/;
s/\t\t\tPhD Cornell Ithaca$/\tCornell\tPhD\t/;
+ s/\t\t\tPhD Cornell University$/\tCornell\tPhD\t/;
s/\t\t\tMS Computer ScUcla$/\tUCLA\tMSc\tInformatique/;
s/\t\t\tMBA HEC\/Ucla$/\tUCLA\tMBA\t/;
s/\t\t\tMS Ucla$/\tUCLA\tMSc\t/;
s/\t\t\tMS Columbia$/\tColumbia University\tMSc\t/;
s/\t\t\tMSEE Columbia Univ$/\tColumbia University\tM\tMSEE/;
s/\t\t\tMBA Univ Columbia$/\tColumbia University\tMBA\t/;
+ s/\t\t\tColumbia Business School - Senior Executive Program$/\tolumbia\tMBA\tSenior Executive Program/;
s/\t\t\tMFSE Columbia Univ$/\tColumbia University\tM\tMFSE/;
s/\t\t\tMSc Univ Columbia$/\tColumbia University\tMSc\t/;
+ s/\t\t\tMS Columbia New-York$/\tColumbia\tMSc\t/;
s/\t\t\tPhD Columbia$/\tColumbia University\tPhD\t/;
s/\t\t\tMS Univ British Columbia$/\tUBC\tMSc\t/;
s/\t\t\tMSc Univ British Columbia$/\tUBC\tMSc\t/;
+ s/\t\t\tMIA Columbia$/\tColumbia\tMIA\t/;
+ s/\t\t\tMIA Columbia University$/\tColumbia\tMIA\t/;
+ s/\t\t\tMIA Columbia Univ$/\tColumbia\tMIA\t/;
s/\t\t\tMBA Chicago$/\tUniversity of Chicago\tMBA\t/;
s/\t\t\tMsChicago$/\tUniversity of Chicago\tMSc\t/;
s/\t\t\tMSc Univ Chicago$/\tUniversity of Chicago\tMSc\t/;
s/\t\t\tPhD EconomChicago$/\tUniversity of Chicago\tPhD\tÉconomie/;
s/\t\t\tPhD Univ Chicago$/\tUniversity of Chicago\tPhD\t/;
+ s/\t\t\tPhD Univ of Chicago$/\tUniversity of Chicago\tPhD\t/;
s/\t\t\tMS Imperial College$/\tImperial College\tMSc\t/;
s/\t\t\tMS Imperial College Londres$/\tImperial College\tMSc\t/;
s/\t\t\tMSc Imperial College$/\tImperial College\tMSc\t/;
s/\t\t\tM Sc Imperial College$/\tImperial College\tMSc\t/;
s/\t\t\tMSc in Advanced Mechanical Engin \, Imperial College Londres$/\tImperial College\tMSc\tAdvanced Mechanical Engineering/;
s/\t\t\tMSc Impreial College of London$/\tImperial College\tMSc\t/;
+ s/\t\t\tMSc Imperial College London$/\tImperial College\tMSc\t/;
+ s/\t\t\tPhD Imperial College of London$/\tImperial College\tPhD\t/;
s/\t\t\tMSc Impérial Collège$/\tImperial College\tMSc\t/;
s/\t\t\tPhD Imperial College$/\tImperial College\tPhD\t/;
+ s/\t\t\tMSc The London School of Eco & Political Science$/\tLSE\tMSc\t/;
+ s/\t\t\tMSc The London School of Eco & Political Sc$/\tLSE\tMSc\t/;
+ s/\t\t\tMSc The London School of Economics and Political Science$/\tLSE\tMSc\t/;
+ s/\t\t\tMSc London School of Eco & Political Sc$/\tLSE\tMSc\t/;
+ s/\t\t\tMSc The London School of Eco & Political Sc$/\tLSE\tMSc\t/;
+ s/\t\t\tSc The London School of Eco & Political Sc$/\tLSE\tMSc\t/;
+ s/\t\t\tMS London School of Eco & Political Sc$/\tLSE\tMSc\t/;
+ s/\t\t\tMSc The London School of Economics & Political Sc$/\tLSE\tMSc\t/;
+ s/\t\t\tMSc London School of Eco & Political Sc$/\tLSE\tMSc\t/;
+ s/\t\t\tMScLondon School of Eco & Political Sc$/\tLSE\tMSc\t/;
s/\t\t\tMS London School of Economics$/\tLSE\tMSc\t/;
s/\t\t\tMScLondon School of Economics$/\tLSE\tMSc\t/;
s/\t\t\tMSc London School of Economics & Political Science$/\tLSE\tMSc\t/;
s/\t\t\tMS LSE$/\tLSE\tMSc\t/;
s/\t\t\tPhD London School Econ& Polit Sc$/\tLSE\tPhD\t/;
s/\t\t\tPhD London School of Econ$/\tLSE\tPhD\t/;
+ s/\t\t\tMaster de Philosophie UCLy$/\tUCL\tMPhil\tPhilosophie/;
s/\t\t\tMSc Univ College of London$/\tUCL\tMSc\t/;
+ s/\t\t\tMSc Urban Regneration, Bartlett School$/\tUCL\tMSc\tThe Bartlett - Urban Regneration/;
s/\t\t\tUniversity CollLondres$/\tUCL\tM\t/;
s/\t\t\tMS Signal et Communications Londres$/\tUCL\tMSc\tSignal et Communications/;
s/\t\t\tPhD London Royaume uni$/\tUCL\tPhD\t/;
s/\t\t\tPhD Caltech$/\tCalTech\tPhD\t/;
s/\t\t\tPhD CalTech$/\tCalTech\tPhD\t/;
s/\t\t\tMSc Univ Northwestern$/\tNU\tMSc\t/;
+ s/\t\t\tMSc Northwestern Univ$/\tNU\tPhD\t/;
s/\t\t\tPhD Northwestern University$/\tNU\tPhD\t/;
s/\t\t\tMScNY$/\tNYU\tMSc\t/;
s/\t\t\tMS Schenectady NY$/\tNYU\tMSc\t/;
s/\t\t\tMS New york$/\tNYU\tMSc\t/;
s/\t\t\tPhD Univ New York$/\tNYU\tPhD\t/;
s/\t\t\tPhD Watson School of Biological Sciences$/\tWSBS\tPhD\tBiologie/;
+ s/\t\t\tM Eng McGill Univ$/\tMcGill\tMEng\t/;
+ s/\t\t\tMSc McGill Univ$/\tMcGill\tMSc\t/;
+ s/\t\t\tMSc en Mécanique McGill$/\tMcGill\tMSc\tMécanique/;
s/\t\t\tMS McGill University$/\tMcGill\tMSc\t/;
s/\t\t\tMaster of Management McGill University$/\tMcGill\tMM\t/;
s/\t\t\tMS Univ McGill$/\tMcGill\tMSc\t/;
s/\t\t\tMSc Princeton$/\tPrinceton\tMSc\t/;
s/\t\t\tMS Univ Princeton$/\tPrinceton\tMSc\t/;
s/\t\t\tMS Princeton$/\tPrinceton\tMSc\t/;
+ s/\t\t\tMSc Princeton Univ$/\tPrinceton\tMSc\t/;
s/\t\t\tMS Univ Princeton$/\tPrinceton\tMSc\t/;
s/\t\t\tMSc Univ Princeton$/\tPrinceton\tMSc\t/;
s/\t\t\tMS in Finance Princeton$/\tPrinceton\tMSc\tFinance/;
s/\t\t\tIng EP Montréal$/\tEPM\tIng.\t/;
s/\t\t\tIng Ecole polytechnique de Montréal$/\tEPM\tIng.\t/;
s/\t\t\tEP Montréal Ing$/\tEPM\tIng.\t/;
+ s/\t\t\tPhD EcPolytMontreal$/\tEPM\tPhD\t/;
s/\t\t\tIng Univ RWTH-Aachen$/\tRWTH\tIng.\t/;
s/\t\t\tIng Univ RWTH-AAchen$/\tRWTH\tIng.\t/;
s/\t\t\tRWTH Aachen$/\tRWTH\tM\t/;
s/\t\t\tME Univ Oxford$/\tOxford\tME\t/;
s/\t\t\tMSc Univ of Oxford$/\tOxford\tMSc\t/;
s/\t\t\tPhD Univ Oxford$/\tOxford\tPhD\t/;
+ s/\t\t\tPhD Oxford$/\tOxford\tPhD\t/;
s/\t\t\tPhD Boulder$/\tCU\tPhD\t/;
s/\t\t\tMS Singapour$/\tNUS\tMSc\t/;
s/\t\t\tMSc Nat Univ of Singapore$/\tNUS\tMSc\t/;
s/\t\t\tMSc National Univ of Singapore$/\tNUS\tMSc\t/;
s/\t\t\tMSc National University of Singapour$/\tNUS\tMSc\t/;
s/\t\t\tPhD Univ Singapour$/\tNUS\tPhD\t/;
+ s/\t\t\tPhD National Univ of Singapore$/\tNUS\tPhD\t/;
s/\t\t\tMBA Carnegie Mellon$/\tCMU\tMBA\t/;
s/\t\t\tMS Carnegie Mellon$/\tCMU\tMSc\t/;
s/\t\t\tMS ComputCarnégie Mellon Univ$/\tCMU\tMSc\tInformatique/;
s/\t\t\tMSc Univ NTNU$/\tNTNU\tMSc\t/;
s/\t\t\tPhD NTNU$/\tNTNU\tPhD\t/;
s/\t\t\tMS Georgia Tech$/\tGeorgia Tech\tMSc\t/;
+ s/\t\t\tMSc Georgia Inst of Technology$/\tGeorgia Tech\tMSc\t/;
s/\t\t\tMS Univ Georgia$/\tGeorgia Tech\tMSc\t/;
s/\t\t\tMSc Georgia Tech$/\tGeorgia Tech\tMSc\t/;
s/\t\t\tMSc GeorgiaTech$/\tGeorgia Tech\tMSc\t/;
s/\t\t\tPhD GeorgiaTech$/\tGeorgia Tech\tPhD\t/;
+ s/\t\t\tPhD Georgia Inst of Technology$/\tGeorgia Tech\tPhD\t/;
s/\t\t\tPhD Univ Surrey$/\tUniversity of Surrey\tPhD\t/;
s/\t\t\tMS Kyoto$/\tKyoto University\tMSc\t/;
s/\t\t\tPhD Univ Kyoto$/\tKyoto University\tPhD\t/;
s/\t\t\tMSc Univ of Tokyo$/\tTodai\tMSc\t/;
s/\t\t\tPhD UnivTokyo$/\tTodai\tPhD\t/;
s/\t\t\tPhD Univ Tokyo$/\tTodai\tPhD\t/;
+ s/\t\t\tPhD Univ of Tokyo$/\tTodai\tPhD\t/;
s/\t\t\tPhD Tokyo Institute of Technology$/\tTokyo Tech\tPhD\t/;
+ s/\t\t\tMSc Technische Universität Darmstadt$/\tTU Darmstadt\tMSc\t/;
s/\t\t\tIngDiplUniversité Stuttgart$/\tUniversität Stuttgart\tIng.\t/;
s/\t\t\tIng Stuttgart$/\tUniversität Stuttgart\tIng.\t/;
s/\t\t\tIng diplomé Fac d'Aéronautique de Stuttgart$/\tUniversität Stuttgart\tIng.\tAéronautique/;
s/\t\t\tME Univ Stuttgart$/\tUniversität Stuttgart\tME\t/;
+ s/\t\t\tMSc Univ de Stuttgart$/\tUniversität Stuttgart\tMSc\t/;
s/\t\t\tMSc Univ Stuttgart$/\tUniversität Stuttgart\tMSc\t/;
s/\t\t\tMS Univ Stuttgart$/\tUniversität Stuttgart\tMSc\t/;
s/\t\t\tDiplome de la Empire Test Pilot's School$/\tETPS\tDipl.\t/;
+ s/\t\t\tMBA Escuela Sup de Adm y Dir de Empresas$/\tESADE\tMBA\t/;
s/\t\t\tIngde Caminos de Madrid$/\tUPM\tIng.\t/;
s/\t\t\tIngeniero Industrial UPM Madrid$/\tUPM\tIng.\t/;
s/\t\t\tEscuela Sup de Ing de Caminos Canales y Puertos$/\tUPM\tIng.\t/;
s/\t\t\tMS Univ Madrid$/\tUPM\tMSc\t/;
+ s/\t\t\tMSc Universidad Politècnica de Madrid$/\tUPM\tMSc\t/;
s/\t\t\tUniv Madrid$/\tUPM\tM\t/;
s/\t\t\tME Univ Madrid$/\tUPM\tME\t/;
+ s/\t\t\tME Ingeniero Industrial UPM Madrid$/\tUPM\tME\t/;
s/\t\t\tME UnivMadrid$/\tUPM\tME\t/;
s/\t\t\tMS Madrid$/\tUPM\tMSc\t/;
s/\t\t\tETSII Madrid$/\tUPM\tM\tETSSI/;
s/\t\t\tMBA Kellogg School of Management$/\tKellogg\tMBA\t/;
s/\t\t\tMBA Kellogg school of Management$/\tKellogg\tMBA\t/;
s/\t\t\tInvestment Banking Program-Kellog School of Management$/\tKellogg\tMBA\tInvestment Banking Program/;
+ s/\t\t\tPhD Kellogg School of Management$/\tKellogg\tPhD\t/;
s/\t\t\tMS Houston$/\tUH\tMSc\t/;
s/\t\t\tEngineer Kentucky$/\tUK\tIng.\tEngineer/;
s/\t\t\tEP Gdansk Pologne$/\tUniwersytet Gdański\tM\t/;
s/\t\t\tMS München$/\tTU München\tMSc\t/;
s/\t\t\tMSc Univ TU Munich$/\tTU München\tMSc\t/;
s/\t\t\tME Univ TU Munich$/\tTU München\tME\t/;
+ s/\t\t\tMSc Technische Universität München$/\tTU München\tMSc\t/;
+ s/\t\t\tPhD Ludwig-Maximilians-Universität München$/\tUniversität München\tPhD\t/;
+ s/\t\t\tDiplom-Volkswirt Univ Mayence - Allemagne$/\tJGU\tME\t/;
s/\t\t\tMS Ottawa$/\tOU\tMSc\t/;
s/\t\t\tMPhilSheffield$/\tUniversity of Sheffield\tMPhil\t/;
s/\t\t\tMS Urbana$/\tUrbana University\tMSc\t/;
s/\t\t\tCollège d'Europe Natolin Varsovie$/\tCollege of Europe\tMBA\tNatolin Varsovie/;
s/\t\t\tCFA$/\tCFA Institute\tMBA\t/;
s/\t\t\tChartered Financial Analyst$/\tCFA Institute\tMBA\tFinancial Analyst/;
+ s/\t\t\tChartered Financial Analyst Institute$/\tCFA Institute\tMBA\tFinancial Analyst/;
s/\t\t\tChartered Institute of Management Accountant$/\tCIMA\tMBA\t/;
s/\t\t\tNaval Postgraduate School$/\tNPS\tDipl.\t/;
s/\t\t\tMBA Rotterdam School of Management$/\tRSM\tMBA\t/;
s/\t\t\tME Univ Torino$/\tUNITO\tME\t/;
+ s/\t\t\tPhD Univ degli Studi di Torino$/\tUNITO\tPhD\t/;
s/\t\t\tMSc Petroleum Engineering \- TU Delft$/\tTU Delft\tMSc\tPetroleum Engineering/;
+ s/\t\t\tMSc Technische Universiteit Delft$/\tTU Delft\tMSc\t/;
s/\t\t\tMS Univ TU Delft$/\tTU Delft\tMSc\t/;
s/\t\t\tMSc Univ TU Delft$/\tTU Delft\tMSc\t/;
s/\t\t\tMSc Karlsruhe$/\tUniversität Karlsruhe\t\t/;
s/\t\t\tMS Politecnico di Milano$/\tPolitecnico di Milano\tMSc\t/;
s/\t\t\tMSc Politecnico di Milano$/\tPolitecnico di Milano\tMSc\t/;
s/\t\t\tME Univ TU Berlin$/\tTU Berlin\tME\t/;
+ s/\t\t\tME Univ Commerciale Luigi Bocconi Milan$/\tUniversità Bocconi\tMSc\t/;
s/\t\t\tMSc Univ Bocconi$/\tUniversità Bocconi\tMSc\t/;
s/\t\t\tMSc Univ Bocconi$/\tUniversità Bocconi\tMSc\t/;
+ s/\t\t\tMSc Università Commerciale Luigi Bocconi$/\tUniversità Bocconi\tMSc\t/;
s/\t\t\tMSc Univ Pompeu Fabra$/\tUPF\tMSc\t/;
s/\t\t\tMS Univ Pompeu Fabra$/\tUPF\tMSc\t/;
s/\t\t\tMSc Pompeu Fabra$/\tUPF\tMSc\t/;
s/\t\t\tMSc Univ Southampton$/\tUniversity of Southampton\tMSc\t/;
s/\t\t\tMS Southampton$/\tUniversity of Southampton\tMSc\t/;
s/\t\t\tMSc Univ Tsinghua$/\tTHU\tMSc\t/;
+ s/\t\t\tMSc Tsinghua Univ$/\tTHU\tMSc\t/;
s/\t\t\tMS Univ Tsinghua$/\tTHU\tMSc\t/;
s/\t\t\tMS Univ Chalmers$/\tChalmers\tMSc\t/;
+ s/\t\t\tMS Univ Chalmers Tekniska Högskola$/\tChalmers\tMSc\t/;
s/\t\t\tOIV Wine Industry Management$/\tOIV\tMSc\t/;
s/\t\t\tMS Indian Institutes of Technology$/\tIITs\tMSc\t/;
s/\t\t\tMSc Univ Technion$/\tTechnion\tMSc\t/;
s/\t\t\tMSc Kungliga Tekniska Högskolan$/\tKTH\tMSc\t/;
s/\t\t\tMS Univ Stockholm$/\tStockholms Universitet\tMSc\t/;
+ s/\t\t\tMSc Bauman Moscow State Technical Univ$/\tBauman MSTU\tMSc\t/;
+ s/\t\t\tMSc Novosibirsk State Univ$/\tNSU\tMSc\t/;
# Diploma missing.
+ s/\t\t\tUniv Mc Gill Montréal$/\tMcGill\t\t/;
+ s/\t\t\tEcole polytechnique fédérale de Lausanne$/\tEPFL\t\t/;
+ s/\t\t\tEcole polytechnique Fédérale de Lausanne$/\tEPFL\t\t/;
s/\t\t\tUniv Syracuse USA$/\tSU\t\t/;
s/\t\t\tHarvard$/\tHarvard\t\t/;
s/\t\t\tTexas A&M University$/\tTAMU\t\t/;
s/\t\t\tISUP$/\tUPMC\t\tISUP/;
s/\t\t\tBauman Univ Moscou$/\tBauman MSTU\t\t/;
s/\t\t\tUniv Leiden$/\tUniversiteit Leiden\t\t/;
+ s/\t\t\tDiplome Univ Leiden$/\tUniversiteit Leiden\t\t/;
s/\t\t\tBusiness School Dartmouth$/\tDartmouth College\t\t/;
s/\t\t\tBocconi University Milan$/\tUniversità Bocconi\t\t/;
+ s/\t\t\tÉcole des Hautes Études en Sciences Sociales$/\tEHESS\t\t/;
# University missing.
s/\t\t\tBTS Technique agricole$/\t\tBTS\tTechnique agricole/;
s/\t\t\tLic canonique en théologie$/\t\tLic.\tThéologie/;
s/\t\t\tLicence d'Histde l'Art$/\t\tLic.\tHistoire de l'art/;
s/\t\t\tLicence Philosophie$/\t\tLic.\tPhilosophie/;
+ s/\t\t\tLicence d'Anglais$/\t\tLic.\tAnglais/;
s/\t\t\tMaîtrise ScEcon$/\t\tMaîtr.\tÉconomie/;
s/\t\t\tMa(î|i)trise en (.*)$/\t\tMaîtr.\t\2/;
s/\t\t\tMa(î|i)trise ès (.*)$/\t\tMaîtr.\t\2/;
s/\t\t\tDESS dével culturel et dir de projet$/\t\tDESS\tDéveloppement culturel et direction de projets/;
s/\t\t\tDESS Management Paris$/\t\tDESS\tManagement/;
s/\t\t\tDESS Défense Stratégies & Dynamiques ind$/\t\tDESS\tDéfense Stratégies & Dynamiques indépendantes/;
+ s/\t\t\tDEA Systèmes de Télécommunications Numériques$/\t\tDEA\tSystèmes de Télécommunications Numériques/;
s/\t\t\tDEA$/\t\tDEA\t/;
s/\t\t\tDEA Univ$/\t\tDEA\t/;
s/\t\t\tDEA d'Histoire$/\t\tDEA\tHistoire/;
s/\t\t\tDoct Phys des Solides$/\t\tPhD\tPhysique des solides/;
s/\t\t\tDoctorat en Biologie$/\t\tPhD\tBiologie/;
s/\t\t\tDoct en Sc Cognitives$/\t\tPhD\tSciences cognitives/;
+ s/\t\t\tDoct en Cryptologie$/\t\tPhD\tCryptologie/;
s/\t\t\tDoctorat Physique Solides$/\t\tPhD\tPhysique des solides/;
s/\t\t\tDoctorat en Sc biomédicales$/\t\tPhD\tSciences biomédicales/;
s/\t\t\tDoctès Sc Immunologie$/\t\tPhD\tImmunologie/;
s/\t\t\tPhD Electrical Engineering$/\t\tPhD\tIngénierie électrique/;
s/\t\t\tPhD Information theory$/\t\tPhD\tThéorie de l'information/;
s/\t\t\tPhD Electrical Engin & Computer Science$/\t\tPhD\tIngénierie électrique Informatique/;
+ s/\t\t\tPhD Ingénieur$/\t\tPhD\t/;
+ s/\t\t\tPhD micro-nanofluidique$/\t\tPhD\tMicro-nanofluidique/;
s/\t\t\tThèse d'Astrophysique$/\t\tPhD\tAstrophysique/;
s/\t\t\tThèse Maths$/\t\tPhD\tMathématiques/;
s/\t\t\tThèse Océano Physique$/\t\tPhD\tOcéanographie Physique/;
s/\t\t\tMS Management Aéroportuaire$/\t\tMSc\tManagement Aéroportuaire/;
s/\t\t\tMS spécialisé en sécurité des syst d'inform$/\t\tMSc\tSécurité des système d'information/;
s/\t\t\tMScin applied Mathematics$/\t\tMSc\tMathématiques appliquées/;
+ s/\t\t\tMSc Inst Français de gestion$/\t\tMSc\tGestion/;
s/\t\t\tEMBA 2005$/\t\tMBA\t/;
s/\t\t\tMaster Droit des affaires Int & Eur$/\t\tM\tDroit des affaires Intérieures et Européennes/;
s/\t\t\tMaster de Management par les compétences et organisations$/\t\tM\tManagement par les compétences et organisations/;
s/\t\t\tDES de Neurologie$/\t\tDESS\tNeurologie/;
s/\t\t\tMs Affaires Internationales$/\t\tMSc\tAffaires Internationales/;
s/\t\t\tMaster de Recherche Santé Publique$/\t\tM\tSanté Publique/;
+ s/\t\t\tMaster européen RH$/\t\tM\tRessources humaines/;
+ s/\t\t\tMSc Matériaux Genre des Procédés$/\t\tMSc\tMatériaux Genre des Procédés/;
+ s/\t\t\tMaster Professionnel en Droit de l'Entreprise$/\t\tM\tDroit de l'Entreprise/;
+ s/\t\t\tMSc IFG - Mastère Manager un Centre de Responsabilités$/\t\tMSc\tManager un Centre de Responsabilités/;
+ s/\t\t\tPhD en Philosophie$/\t\tPhD\tPhilosophie/;
+ s/\t\t\tThèse en Mathématiques$/\t\tPhD\tMathématiques/;
+ s/\t\t\tMaster en droit privé$/\t\tM\tDroit privé/;
+ s/\t\t\tLicence LEA Anglais-Russe$/\t\tLic.\tLEA Anglais-Russe/;
+ s/\t\t\tDocteur en opto-électronique$/\t\tPhD\tOpto-électronique/;
+ s/\t\t\tDEA Economie ind$/\t\tDEA\tÉconomie/;
+ s/\t\t\tMSc General Management$/\t\tMSc\tGeneral Management/;
+ s/\t\t\tAgrégation de Mathématiques$/\t\tAgr.\tMathématiques/;
+ s/\t\t\tDocten Math Appliquées$/\t\tPhD\tMathématiques appliquées/;
# Both diploma and university missing
s/\t\t\tDipl Expert Compt$/\t\t\tExpertise comptable/;
#s/^.*\tFO\t\w{8}\t\t\tInst Auguste Comte$//;
#s/^.*\tFO\t\w{8}\t\t\tUSMC Command & Staff College$//;
#s/^.*\tFO\t\w{8}\t\t\tISNSE Argunne National Laboratory USA$//;
- ## # Formatted stuff.
+ # # Formatted stuff.
#s/^.*\tFO\t\w{8}((\t|\t\t)[a-zA-Z1-9'\.éèêùüàäïîşńÉÈÊÙÀÜÄÏÎŞŃ \-\(\)]+)\t.*//;
# # Removes empty lines.
s/^\n//;
if (!$category) {
$category = 'extérieurs';
}
- $membres[$key][$name . $member] = array('name' => $name, 'email' => $member, 'category' => $category,
- 'uid' => $uid, 'lost' => $user->lost, 'hasProfile' => $hasProfile);
+ $membres[$key][$name] = array('name' => $name, 'email' => $member, 'category' => $category,
+ 'uid' => $uid, 'lost' => $user->lost, 'hasProfile' => $hasProfile);
}
}
ksort($membres);
- foreach($membres as $membre) {
- ksort($membre);
+ foreach($membres as &$membre) {
+ uksort($membre, strcasecmp);
}
return $membres;
}
public function save(ProfilePage &$page, $field, $value)
{
- Phone::deletePhones($page->pid(), Phone::LINK_ADDRESS, null, S::user()->isMe($page->owner) || S::admin());
- Address::deleteAddresses($page->pid(), Address::LINK_PROFILE, null, S::user()->isMe($page->owner) || S::admin());
- Address::saveFromArray($value, $page->pid(), Address::LINK_PROFILE);
+ $deletePrivate = S::user()->isMe($page->owner) || S::admin();
+
+ Phone::deletePhones($page->pid(), Phone::LINK_ADDRESS, null, $deletePrivate);
+ Address::deleteAddresses($page->pid(), Address::LINK_PROFILE, null, $deletePrivate);
+ Address::saveFromArray($value, $page->pid(), Address::LINK_PROFILE, null, $deletePrivate);
if (S::user()->isMe($page->owner) && count($value) > 1) {
Platal::page()->trigWarning('Attention, tu as plusieurs adresses sur ton profil. Pense à supprimer celles qui sont obsolètes.');
}
}
if (isset($job['removed']) && $job['removed']) {
- if ($job['name'] == '' && $entreprise && isset($entreprise[$entr_val - 1])) {
- $entreprise[$entr_val - 1]->clean();
+ if (S::user()->checkPerms('directory_ax')
+ && (Phone::hasPrivate($job['w_phone']) || Address::hasPrivate($job['w_address']) || $job['w_email_pub'] == 'private')) {
+ Platal::page()->trigWarning("L'entreprise ne peut être supprimée car elle contient des informations pour lesquelles vous n'avez le droit d'édition.");
+ } else {
+ if ($job['name'] == '' && $entreprise && isset($entreprise[$entr_val - 1])) {
+ $entreprise[$entr_val - 1]->clean();
+ }
+ unset($value[$key]);
+ continue;
}
- unset($value[$key]);
- continue;
}
if (!isset($job['pub']) || !$job['pub']) {
$job['pub'] = 'private';
$success = ($success && $s);
}
}
+ usort($value, 'ProfileVisibility::comparePublicity');
return $value;
}
Phone::deletePhones($page->pid(), Phone::LINK_JOB, null, $deletePrivate);
$terms_values = array();
foreach ($value as $id => &$job) {
- if (isset($job['name']) && $job['name']) {
+ if (($job['pub'] != 'private' || $deletePrivate) && (isset($job['name']) && $job['name'])) {
if (isset($job['jobid']) && $job['jobid']) {
XDB::execute('INSERT INTO profile_job (pid, id, description, email,
url, pub, email_pub, jobid)
// Update user info
$email_changed = (!$user->profile() && strtolower($user->forlifeEmail()) != strtolower(Post::v('email')));
$from_email = $user->forlifeEmail();
- if (!$user->profile()) {
+ if ($user->type == 'virtual' || $user->type == 'xnet') {
XDB::query('UPDATE accounts
SET full_name = {?}, directory_name = {?}, display_name = {?},
sex = {?}, email = {?}, type = {?}
{/iterate}
<tr class="{cycle values="impair,pair"}">
<td colspan="2" class="detail">
- <input type="text" name="email" size="29" maxlength="60" value="" />
+ <input type="text" name="email" size="29" maxlength="255" value="" />
</td>
<td class="action">
<input type="hidden" name="uid" value="{$user->id()}" />
Ajouter une adresse
</td>
<td>
- <input type="text" name="email" size="29" maxlength="60" value="" />
+ <input type="text" name="email" size="29" maxlength="255" value="" />
</td>
<td class="action">
<input type="hidden" name="uid" value="{$user->id()}" />
<a href="Xorg/FAQ?display=light#flags" class="popup_800x240">Quelle couleur ?</a>
{/if}
{if !t($val)}{assign var=val value='ax'}{/if}
+{if t($disabled)}<input type="hidden" name="{$name}" value="private" />{/if}
<label><input type="radio" name="{$name}" value="public"{if $val eq 'public'} checked="checked"{/if}
{if t($disabled)}disabled="disabled"{/if}{if t($mainField)} onchange="updatePublicity('{$mainField}','{$mainId}','{$subField}','{$subId}')"{/if} />
{icon name="flag_green" title="site public"}
<strong>Site web :</strong>
<input type="text" name="url" size="25" maxlength="200" value="{$valid->url}" /><br />
<strong>Email :</strong>
-<input type="text" name="email" size="25" maxlength="200" value="{$valid->email}" /><br />
+<input type="text" name="email" size="25" maxlength="255" value="{$valid->email}" /><br />
<strong>Holding :</strong>
<input type="text" name="holdingid" size="25" maxlength="200" value="{$valid->holdingid}" /><br />
<strong>Code NAF :</strong>
<tr class="pair">
<td>Adresse email :</td>
<td>
- <input type="text" name="mail" size="30" maxlength="50" value="{$smarty.post.mail}" />
+ <input type="text" name="mail" size="30" maxlength="255" value="{$smarty.post.mail}" />
</td>
</tr>
{if $user->email}
<tr class="pair">
<td align="right"><strong>To :</strong></td>
<td>
- <input type="text" value="{$rel_to}" name="to" size="40" maxlength="100" />
+ <input type="text" value="{$rel_to}" name="to" size="40" maxlength="255" />
<input type="submit" name="valider" value="Envoyer" />
</td>
</tr>
<tr class="pair">
<td>Adresse email :</td>
<td>
- <input type="text" name="mail" size="30" maxlength="50" />
+ <input type="text" name="mail" size="30" maxlength="255" />
</td>
</tr>
<tr class="impair">
<span class="smaller">"prenom.nom" ou "prenom.nom.promo"</span>
</td>
<td>
- <input type="text" size="20" maxlength="50" name="login" />
+ <input type="text" size="20" maxlength="255" name="login" />
</td>
</tr>
<tr>
Adresse email : <span class="smaller">(facultatif)</span>
</td>
<td>
- <input type="text" size="20" maxlength="50" name="email" />
+ <input type="text" size="20" maxlength="255" name="email" />
</td>
</tr>
<tr>
{else}
{assign var=hiddenjob value=false}
{/if}
+{if !hasPerm('directory_private') && ($job.w_address.pub eq 'private') && !empty($job.w_address.text|smarty:nodefaults)}
+{assign var=hiddenaddr value=true}
+{else}
+{assign var=hiddenaddr value=false}
+{/if}
+{if !hasPerm('directory_private') && ($job.w_email_pub eq 'private') && !empty($job.w_email|smarty:nodefaults)}
+{assign var=hiddenemail value=true}
+{else}
+{assign var=hiddenemail value=false}
+{/if}
<div id="{$jobid}">
<input type="hidden" name="{$jobpref}[removed]" value="0" />
<input type="hidden" name="{$jobpref}[new]" value="{if $new}1{else}0{/if}" />
<tr class="{$entreprise}" style="display: none">
<td class="titre">Email de contact</td>
<td>
- <input type="text" maxlength="60" name="{$jobpref}[hq_email]" />
+ <input type="text" maxlength="255" name="{$jobpref}[hq_email]" />
</td>
</tr>
<tr class="{$entreprise}" style="display: none">
name="{$jobpref}[w_url]" value="{$job.w_url}" />
</td>
</tr>
- <tr id="{$jobid}_w_address" class="pair" {if $hiddenjob}style="display: none"{/if}>
+ <tr id="{$jobid}_w_address" class="pair" {if $hiddenjob || $hiddenaddr}style="display: none"{/if}>
<td colspan="2">
<div style="float: left">
<div class="titre">Adresse</div>
</div>
</td>
</tr>
- {if $hiddenjob}
+ {if $hiddenaddr}
+ <tr class="pair">
+ <td class="titre" colspan="2">Adresse (masquée)</td>
+ </tr>
+ {/if}
+ {if $hiddenjob || $hiddenemail}
<tr class="pair" {if $hiddenjob}style="display: none"{/if}>
- <td colspan="2">
+ <td class="titre" colspan="2">
+ {if $hiddenemail}Email professionnel (masqué){/if}
<input type="hidden" name="{$jobpref}[w_email]" value="{$job.w_email}" />
<input type="hidden" name="{$jobpref}[w_email_pub]" value="{$job.w_email_pub}" />
</td>
<span class="smaller">(adresse de ton choix pour reçevoir tes emails)</span>
</td>
<td>
- <input type="text" size="35" maxlength="50" name="email" value="{$smarty.post.email}" />
+ <input type="text" size="35" maxlength="255" name="email" value="{$smarty.post.email}" />
</td>
</tr>
<tr class="pair">
<td>
{if $event.topay}
<div class="error">
- {if !$event.paid}
+ {if $event.paid eq 0}
Tu dois payer {$event.topay|replace:'.':','} €.
{elseif $event.paid < $event.topay}
Tu dois encore payer {math equation="a-b" a=$event.topay b=$event.paid|replace:'.':','} €
<tr>
<td class="titre">Expéditeur :</td>
<td>
- <input type="text" name="from" size="55" maxlength="70"
+ <input type="text" name="from" size="55" maxlength="255"
value="{if $smarty.request.from}{$smarty.request.from}{else}"{$user->fullName()}" <{$user->bestEmail()}>{/if}" />
</td>
</tr>
<tr>
<td class="titre">Répondre à :</td>
<td>
- <input type="text" name="replyto" size="55" maxlength="70" value="{$smarty.request.replyto}" />
+ <input type="text" name="replyto" size="55" maxlength="255" value="{$smarty.request.replyto}" />
</td>
</tr>
</select>
</td>
</tr>
- {if !$user->profile()}
+ {if $user->type eq 'virtual' || $user->type eq 'xnet'}
<tr class="impair">
<td class="titre">
Type d'utilisateur :
</select>
</td>
</tr>
- {/if}
- {if !$user->profile() || !$user->perms}
+ {if !$user->perms}
<tr class="impair">
<td class="titre">
Email :
</td>
</tr>
{/if}
+ {/if}
<tr class="impair">
<td class="titre">
Commentaire :
--- /dev/null
+-- WARNING: Do not modify this script. Make a new one instead.
+
+-- New AX identifiants
+UPDATE profiles SET ax_id = 20100029 WHERE pid = 43956;
+UPDATE profiles SET ax_id = 20100030 WHERE pid = 43959;
+UPDATE profiles SET ax_id = 20100031 WHERE pid = 44079;
+UPDATE profiles SET ax_id = 20100032 WHERE pid = 43961;
+UPDATE profiles SET ax_id = 20100033 WHERE pid = 43964;
+UPDATE profiles SET ax_id = 20100034 WHERE pid = 43965;
+UPDATE profiles SET ax_id = 20100035 WHERE pid = 43966;
+UPDATE profiles SET ax_id = 20100037 WHERE pid = 43968;
+UPDATE profiles SET ax_id = 20100038 WHERE pid = 43969;
+UPDATE profiles SET ax_id = 20100039 WHERE pid = 43970;
+UPDATE profiles SET ax_id = 20100040 WHERE pid = 43971;
+UPDATE profiles SET ax_id = 20100041 WHERE pid = 43972;
+UPDATE profiles SET ax_id = 20100042 WHERE pid = 43973;
+UPDATE profiles SET ax_id = 20100043 WHERE pid = 43974;
+UPDATE profiles SET ax_id = 20100044 WHERE pid = 43976;
+UPDATE profiles SET ax_id = 20100045 WHERE pid = 43977;
+UPDATE profiles SET ax_id = 20100046 WHERE pid = 43978;
+UPDATE profiles SET ax_id = 20100047 WHERE pid = 43979;
+UPDATE profiles SET ax_id = 20100048 WHERE pid = 43980;
+UPDATE profiles SET ax_id = 20100049 WHERE pid = 43981;
+UPDATE profiles SET ax_id = 20100050 WHERE pid = 43983;
+UPDATE profiles SET ax_id = 20100051 WHERE pid = 43984;
+UPDATE profiles SET ax_id = 20100052 WHERE pid = 43985;
+UPDATE profiles SET ax_id = 20100053 WHERE pid = 43986;
+UPDATE profiles SET ax_id = 20100054 WHERE pid = 43987;
+UPDATE profiles SET ax_id = 20100055 WHERE pid = 43988;
+UPDATE profiles SET ax_id = 20100056 WHERE pid = 43989;
+UPDATE profiles SET ax_id = 20100057 WHERE pid = 43990;
+UPDATE profiles SET ax_id = 20100058 WHERE pid = 43991;
+UPDATE profiles SET ax_id = 20100059 WHERE pid = 43993;
+UPDATE profiles SET ax_id = 20100060 WHERE pid = 43994;
+UPDATE profiles SET ax_id = 20100061 WHERE pid = 43997;
+UPDATE profiles SET ax_id = 20100062 WHERE pid = 43998;
+UPDATE profiles SET ax_id = 20100063 WHERE pid = 43999;
+UPDATE profiles SET ax_id = 20100064 WHERE pid = 44000;
+UPDATE profiles SET ax_id = 20100065 WHERE pid = 44002;
+UPDATE profiles SET ax_id = 20100066 WHERE pid = 44003;
+UPDATE profiles SET ax_id = 20100067 WHERE pid = 44004;
+UPDATE profiles SET ax_id = 20100068 WHERE pid = 44005;
+UPDATE profiles SET ax_id = 20100069 WHERE pid = 44006;
+UPDATE profiles SET ax_id = 20100070 WHERE pid = 44010;
+UPDATE profiles SET ax_id = 20100071 WHERE pid = 44011;
+UPDATE profiles SET ax_id = 20100072 WHERE pid = 44012;
+UPDATE profiles SET ax_id = 20100073 WHERE pid = 44013;
+UPDATE profiles SET ax_id = 20100074 WHERE pid = 44014;
+UPDATE profiles SET ax_id = 20100075 WHERE pid = 44015;
+UPDATE profiles SET ax_id = 20100076 WHERE pid = 44016;
+UPDATE profiles SET ax_id = 20100077 WHERE pid = 44017;
+UPDATE profiles SET ax_id = 20100078 WHERE pid = 44018;
+UPDATE profiles SET ax_id = 20100079 WHERE pid = 44019;
+UPDATE profiles SET ax_id = 20100080 WHERE pid = 44021;
+UPDATE profiles SET ax_id = 20100081 WHERE pid = 44022;
+UPDATE profiles SET ax_id = 20100082 WHERE pid = 44023;
+UPDATE profiles SET ax_id = 20100083 WHERE pid = 44024;
+UPDATE profiles SET ax_id = 20100084 WHERE pid = 44025;
+UPDATE profiles SET ax_id = 20100085 WHERE pid = 44026;
+UPDATE profiles SET ax_id = 20100086 WHERE pid = 44028;
+UPDATE profiles SET ax_id = 20100087 WHERE pid = 44029;
+UPDATE profiles SET ax_id = 20100088 WHERE pid = 44030;
+UPDATE profiles SET ax_id = 20100089 WHERE pid = 44031;
+UPDATE profiles SET ax_id = 20100090 WHERE pid = 44032;
+UPDATE profiles SET ax_id = 20100091 WHERE pid = 44033;
+UPDATE profiles SET ax_id = 20100092 WHERE pid = 44034;
+UPDATE profiles SET ax_id = 20100093 WHERE pid = 44035;
+UPDATE profiles SET ax_id = 20100094 WHERE pid = 44036;
+UPDATE profiles SET ax_id = 20100095 WHERE pid = 44037;
+UPDATE profiles SET ax_id = 20100096 WHERE pid = 44038;
+UPDATE profiles SET ax_id = 20100097 WHERE pid = 44040;
+UPDATE profiles SET ax_id = 20100098 WHERE pid = 44042;
+UPDATE profiles SET ax_id = 20100099 WHERE pid = 44043;
+UPDATE profiles SET ax_id = 20100100 WHERE pid = 44044;
+UPDATE profiles SET ax_id = 20100101 WHERE pid = 44045;
+UPDATE profiles SET ax_id = 20100102 WHERE pid = 44046;
+UPDATE profiles SET ax_id = 20100103 WHERE pid = 44047;
+UPDATE profiles SET ax_id = 20100104 WHERE pid = 44048;
+UPDATE profiles SET ax_id = 20100105 WHERE pid = 44049;
+UPDATE profiles SET ax_id = 20100106 WHERE pid = 44050;
+UPDATE profiles SET ax_id = 20100107 WHERE pid = 44051;
+UPDATE profiles SET ax_id = 20100108 WHERE pid = 44053;
+UPDATE profiles SET ax_id = 20100109 WHERE pid = 44054;
+UPDATE profiles SET ax_id = 20100110 WHERE pid = 44055;
+UPDATE profiles SET ax_id = 20100111 WHERE pid = 44056;
+UPDATE profiles SET ax_id = 20100112 WHERE pid = 44057;
+UPDATE profiles SET ax_id = 20100113 WHERE pid = 44058;
+UPDATE profiles SET ax_id = 20100114 WHERE pid = 44060;
+UPDATE profiles SET ax_id = 20100115 WHERE pid = 44062;
+UPDATE profiles SET ax_id = 20100116 WHERE pid = 44063;
+UPDATE profiles SET ax_id = 20100117 WHERE pid = 44064;
+UPDATE profiles SET ax_id = 20100118 WHERE pid = 44065;
+UPDATE profiles SET ax_id = 20100119 WHERE pid = 44087;
+UPDATE profiles SET ax_id = 20100120 WHERE pid = 44066;
+UPDATE profiles SET ax_id = 20100121 WHERE pid = 44067;
+UPDATE profiles SET ax_id = 20100122 WHERE pid = 44068;
+UPDATE profiles SET ax_id = 20100123 WHERE pid = 44069;
+UPDATE profiles SET ax_id = 20100124 WHERE pid = 44070;
+UPDATE profiles SET ax_id = 20100125 WHERE pid = 44071;
+UPDATE profiles SET ax_id = 20100126 WHERE pid = 44072;
+UPDATE profiles SET ax_id = 20100127 WHERE pid = 44073;
+UPDATE profiles SET ax_id = 20100128 WHERE pid = 44074;
+UPDATE profiles SET ax_id = 20100129 WHERE pid = 44075;
+UPDATE profiles SET ax_id = 20100130 WHERE pid = 44076;
+UPDATE profiles SET ax_id = 20100131 WHERE pid = 44077;
+UPDATE profiles SET ax_id = 20100132 WHERE pid = 44078;
+UPDATE profiles SET ax_id = 20100133 WHERE pid = 44080;
+UPDATE profiles SET ax_id = 20100134 WHERE pid = 44082;
+UPDATE profiles SET ax_id = 20100135 WHERE pid = 44083;
+UPDATE profiles SET ax_id = 20100136 WHERE pid = 44084;
+UPDATE profiles SET ax_id = 20100137 WHERE pid = 44085;
+UPDATE profiles SET ax_id = 20100138 WHERE pid = 44086;
+UPDATE profiles SET ax_id = 20100139 WHERE pid = 44094;
+UPDATE profiles SET ax_id = 20100140 WHERE pid = 44095;
+UPDATE profiles SET ax_id = 20100141 WHERE pid = 44096;
+UPDATE profiles SET ax_id = 20100142 WHERE pid = 44097;
+UPDATE profiles SET ax_id = 20100143 WHERE pid = 44098;
+UPDATE profiles SET ax_id = 20100144 WHERE pid = 44099;
+UPDATE profiles SET ax_id = 20100145 WHERE pid = 44100;
+UPDATE profiles SET ax_id = 20100146 WHERE pid = 44101;
+UPDATE profiles SET ax_id = 20100147 WHERE pid = 44102;
+UPDATE profiles SET ax_id = 20100148 WHERE pid = 44103;
+UPDATE profiles SET ax_id = 20100149 WHERE pid = 44105;
+UPDATE profiles SET ax_id = 20100150 WHERE pid = 44106;
+UPDATE profiles SET ax_id = 20100151 WHERE pid = 44107;
+UPDATE profiles SET ax_id = 20100152 WHERE pid = 44108;
+UPDATE profiles SET ax_id = 20100153 WHERE pid = 44109;
+UPDATE profiles SET ax_id = 20100154 WHERE pid = 44110;
+UPDATE profiles SET ax_id = 20100155 WHERE pid = 44111;
+UPDATE profiles SET ax_id = 20100156 WHERE pid = 44112;
+UPDATE profiles SET ax_id = 20100157 WHERE pid = 44113;
+UPDATE profiles SET ax_id = 20100158 WHERE pid = 44114;
+UPDATE profiles SET ax_id = 20100159 WHERE pid = 44115;
+UPDATE profiles SET ax_id = 20100160 WHERE pid = 44116;
+UPDATE profiles SET ax_id = 20100161 WHERE pid = 44117;
+UPDATE profiles SET ax_id = 20100162 WHERE pid = 44118;
+UPDATE profiles SET ax_id = 20100163 WHERE pid = 44119;
+UPDATE profiles SET ax_id = 20100164 WHERE pid = 44120;
+UPDATE profiles SET ax_id = 20100165 WHERE pid = 44122;
+UPDATE profiles SET ax_id = 20100166 WHERE pid = 44123;
+UPDATE profiles SET ax_id = 20100167 WHERE pid = 44125;
+UPDATE profiles SET ax_id = 20100168 WHERE pid = 44127;
+UPDATE profiles SET ax_id = 20100169 WHERE pid = 44126;
+UPDATE profiles SET ax_id = 20100170 WHERE pid = 44128;
+UPDATE profiles SET ax_id = 20100171 WHERE pid = 44129;
+UPDATE profiles SET ax_id = 20100172 WHERE pid = 44130;
+UPDATE profiles SET ax_id = 20100173 WHERE pid = 44131;
+UPDATE profiles SET ax_id = 20100174 WHERE pid = 44132;
+UPDATE profiles SET ax_id = 20100175 WHERE pid = 44133;
+UPDATE profiles SET ax_id = 20100176 WHERE pid = 44134;
+UPDATE profiles SET ax_id = 20100177 WHERE pid = 44135;
+UPDATE profiles SET ax_id = 20100178 WHERE pid = 44136;
+UPDATE profiles SET ax_id = 20100179 WHERE pid = 44137;
+UPDATE profiles SET ax_id = 20100180 WHERE pid = 44138;
+UPDATE profiles SET ax_id = 20100181 WHERE pid = 44140;
+UPDATE profiles SET ax_id = 20100182 WHERE pid = 44141;
+UPDATE profiles SET ax_id = 20100183 WHERE pid = 44142;
+UPDATE profiles SET ax_id = 20100184 WHERE pid = 44143;
+UPDATE profiles SET ax_id = 20100185 WHERE pid = 44144;
+UPDATE profiles SET ax_id = 20100186 WHERE pid = 44145;
+UPDATE profiles SET ax_id = 20100187 WHERE pid = 44146;
+UPDATE profiles SET ax_id = 20100188 WHERE pid = 44147;
+UPDATE profiles SET ax_id = 20100189 WHERE pid = 44148;
+UPDATE profiles SET ax_id = 20100190 WHERE pid = 44149;
+UPDATE profiles SET ax_id = 20100191 WHERE pid = 44150;
+UPDATE profiles SET ax_id = 20100192 WHERE pid = 44151;
+UPDATE profiles SET ax_id = 20100193 WHERE pid = 44152;
+UPDATE profiles SET ax_id = 20100194 WHERE pid = 44153;
+UPDATE profiles SET ax_id = 20100195 WHERE pid = 44154;
+UPDATE profiles SET ax_id = 20100196 WHERE pid = 44155;
+UPDATE profiles SET ax_id = 20100197 WHERE pid = 44156;
+UPDATE profiles SET ax_id = 20100198 WHERE pid = 44157;
+UPDATE profiles SET ax_id = 20100199 WHERE pid = 44158;
+UPDATE profiles SET ax_id = 20100200 WHERE pid = 44159;
+UPDATE profiles SET ax_id = 20100201 WHERE pid = 44160;
+UPDATE profiles SET ax_id = 20100202 WHERE pid = 44161;
+UPDATE profiles SET ax_id = 20100203 WHERE pid = 44162;
+UPDATE profiles SET ax_id = 20100204 WHERE pid = 44164;
+UPDATE profiles SET ax_id = 20100205 WHERE pid = 44166;
+UPDATE profiles SET ax_id = 20100206 WHERE pid = 44167;
+UPDATE profiles SET ax_id = 20100207 WHERE pid = 44168;
+UPDATE profiles SET ax_id = 20100208 WHERE pid = 44169;
+UPDATE profiles SET ax_id = 20100209 WHERE pid = 44172;
+UPDATE profiles SET ax_id = 20100210 WHERE pid = 44173;
+UPDATE profiles SET ax_id = 20100211 WHERE pid = 44174;
+UPDATE profiles SET ax_id = 20100212 WHERE pid = 44175;
+UPDATE profiles SET ax_id = 20100213 WHERE pid = 44176;
+UPDATE profiles SET ax_id = 20100214 WHERE pid = 44177;
+UPDATE profiles SET ax_id = 20100215 WHERE pid = 44178;
+UPDATE profiles SET ax_id = 20100216 WHERE pid = 44179;
+UPDATE profiles SET ax_id = 20100217 WHERE pid = 44180;
+UPDATE profiles SET ax_id = 20100218 WHERE pid = 44181;
+UPDATE profiles SET ax_id = 20100219 WHERE pid = 44182;
+UPDATE profiles SET ax_id = 20100220 WHERE pid = 44183;
+UPDATE profiles SET ax_id = 20100221 WHERE pid = 44184;
+UPDATE profiles SET ax_id = 20100222 WHERE pid = 44185;
+UPDATE profiles SET ax_id = 20100223 WHERE pid = 44186;
+UPDATE profiles SET ax_id = 20100224 WHERE pid = 44187;
+UPDATE profiles SET ax_id = 20100225 WHERE pid = 44188;
+UPDATE profiles SET ax_id = 20100226 WHERE pid = 44190;
+UPDATE profiles SET ax_id = 20100227 WHERE pid = 44191;
+UPDATE profiles SET ax_id = 20100228 WHERE pid = 44192;
+UPDATE profiles SET ax_id = 20100229 WHERE pid = 44194;
+UPDATE profiles SET ax_id = 20100230 WHERE pid = 44195;
+UPDATE profiles SET ax_id = 20100231 WHERE pid = 44196;
+UPDATE profiles SET ax_id = 20100232 WHERE pid = 44198;
+UPDATE profiles SET ax_id = 20100233 WHERE pid = 44199;
+UPDATE profiles SET ax_id = 20100234 WHERE pid = 44200;
+UPDATE profiles SET ax_id = 20100235 WHERE pid = 44201;
+UPDATE profiles SET ax_id = 20100236 WHERE pid = 44203;
+UPDATE profiles SET ax_id = 20100237 WHERE pid = 44204;
+UPDATE profiles SET ax_id = 20100238 WHERE pid = 44205;
+UPDATE profiles SET ax_id = 20100239 WHERE pid = 44206;
+UPDATE profiles SET ax_id = 20100240 WHERE pid = 44207;
+UPDATE profiles SET ax_id = 20100241 WHERE pid = 44208;
+UPDATE profiles SET ax_id = 20100242 WHERE pid = 44210;
+UPDATE profiles SET ax_id = 20100243 WHERE pid = 44213;
+UPDATE profiles SET ax_id = 20100244 WHERE pid = 44215;
+UPDATE profiles SET ax_id = 20100245 WHERE pid = 44216;
+UPDATE profiles SET ax_id = 20100246 WHERE pid = 44217;
+UPDATE profiles SET ax_id = 20100247 WHERE pid = 44218;
+UPDATE profiles SET ax_id = 20100248 WHERE pid = 44219;
+UPDATE profiles SET ax_id = 20100249 WHERE pid = 44220;
+UPDATE profiles SET ax_id = 20100250 WHERE pid = 44221;
+UPDATE profiles SET ax_id = 20100251 WHERE pid = 44222;
+UPDATE profiles SET ax_id = 20100252 WHERE pid = 44088;
+UPDATE profiles SET ax_id = 20100253 WHERE pid = 44223;
+UPDATE profiles SET ax_id = 20100254 WHERE pid = 44224;
+UPDATE profiles SET ax_id = 20100255 WHERE pid = 44225;
+UPDATE profiles SET ax_id = 20100256 WHERE pid = 44226;
+UPDATE profiles SET ax_id = 20100257 WHERE pid = 44214;
+UPDATE profiles SET ax_id = 20100258 WHERE pid = 44227;
+UPDATE profiles SET ax_id = 20100259 WHERE pid = 44228;
+UPDATE profiles SET ax_id = 20100260 WHERE pid = 44229;
+UPDATE profiles SET ax_id = 20100261 WHERE pid = 44230;
+UPDATE profiles SET ax_id = 20100262 WHERE pid = 44231;
+UPDATE profiles SET ax_id = 20100263 WHERE pid = 44232;
+UPDATE profiles SET ax_id = 20100264 WHERE pid = 44233;
+UPDATE profiles SET ax_id = 20100265 WHERE pid = 44234;
+UPDATE profiles SET ax_id = 20100266 WHERE pid = 44235;
+UPDATE profiles SET ax_id = 20100267 WHERE pid = 44237;
+UPDATE profiles SET ax_id = 20100268 WHERE pid = 44238;
+UPDATE profiles SET ax_id = 20100269 WHERE pid = 44239;
+UPDATE profiles SET ax_id = 20100270 WHERE pid = 44240;
+UPDATE profiles SET ax_id = 20100271 WHERE pid = 44241;
+UPDATE profiles SET ax_id = 20100272 WHERE pid = 44089;
+UPDATE profiles SET ax_id = 20100273 WHERE pid = 44242;
+UPDATE profiles SET ax_id = 20100274 WHERE pid = 44243;
+UPDATE profiles SET ax_id = 20100275 WHERE pid = 44244;
+UPDATE profiles SET ax_id = 20100276 WHERE pid = 44245;
+UPDATE profiles SET ax_id = 20100277 WHERE pid = 44250;
+UPDATE profiles SET ax_id = 20100278 WHERE pid = 44251;
+UPDATE profiles SET ax_id = 20100279 WHERE pid = 44252;
+UPDATE profiles SET ax_id = 20100280 WHERE pid = 44253;
+UPDATE profiles SET ax_id = 20100281 WHERE pid = 44254;
+UPDATE profiles SET ax_id = 20100282 WHERE pid = 44255;
+UPDATE profiles SET ax_id = 20100283 WHERE pid = 44256;
+UPDATE profiles SET ax_id = 20100284 WHERE pid = 44257;
+UPDATE profiles SET ax_id = 20100285 WHERE pid = 44258;
+UPDATE profiles SET ax_id = 20100286 WHERE pid = 44259;
+UPDATE profiles SET ax_id = 20100287 WHERE pid = 44090;
+UPDATE profiles SET ax_id = 20100288 WHERE pid = 44261;
+UPDATE profiles SET ax_id = 20100289 WHERE pid = 44262;
+UPDATE profiles SET ax_id = 20100290 WHERE pid = 44263;
+UPDATE profiles SET ax_id = 20100291 WHERE pid = 44264;
+UPDATE profiles SET ax_id = 20100292 WHERE pid = 44265;
+UPDATE profiles SET ax_id = 20100293 WHERE pid = 44266;
+UPDATE profiles SET ax_id = 20100294 WHERE pid = 44267;
+UPDATE profiles SET ax_id = 20100295 WHERE pid = 44268;
+UPDATE profiles SET ax_id = 20100296 WHERE pid = 44270;
+UPDATE profiles SET ax_id = 20100297 WHERE pid = 44271;
+UPDATE profiles SET ax_id = 20100298 WHERE pid = 44272;
+UPDATE profiles SET ax_id = 20100299 WHERE pid = 44273;
+UPDATE profiles SET ax_id = 20100300 WHERE pid = 44274;
+UPDATE profiles SET ax_id = 20100301 WHERE pid = 44275;
+UPDATE profiles SET ax_id = 20100302 WHERE pid = 44091;
+UPDATE profiles SET ax_id = 20100303 WHERE pid = 44276;
+UPDATE profiles SET ax_id = 20100304 WHERE pid = 44277;
+UPDATE profiles SET ax_id = 20100305 WHERE pid = 44278;
+UPDATE profiles SET ax_id = 20100306 WHERE pid = 44279;
+UPDATE profiles SET ax_id = 20100307 WHERE pid = 44280;
+UPDATE profiles SET ax_id = 20100308 WHERE pid = 44281;
+UPDATE profiles SET ax_id = 20100309 WHERE pid = 44282;
+UPDATE profiles SET ax_id = 20100310 WHERE pid = 44283;
+UPDATE profiles SET ax_id = 20100311 WHERE pid = 44284;
+UPDATE profiles SET ax_id = 20100312 WHERE pid = 44285;
+UPDATE profiles SET ax_id = 20100313 WHERE pid = 44287;
+UPDATE profiles SET ax_id = 20100314 WHERE pid = 44286;
+UPDATE profiles SET ax_id = 20100315 WHERE pid = 44288;
+UPDATE profiles SET ax_id = 20100316 WHERE pid = 44289;
+UPDATE profiles SET ax_id = 20100317 WHERE pid = 44291;
+UPDATE profiles SET ax_id = 20100318 WHERE pid = 44292;
+UPDATE profiles SET ax_id = 20100319 WHERE pid = 44296;
+UPDATE profiles SET ax_id = 20100320 WHERE pid = 44297;
+UPDATE profiles SET ax_id = 20100321 WHERE pid = 44298;
+UPDATE profiles SET ax_id = 20100322 WHERE pid = 44299;
+UPDATE profiles SET ax_id = 20100323 WHERE pid = 44301;
+UPDATE profiles SET ax_id = 20100324 WHERE pid = 44302;
+UPDATE profiles SET ax_id = 20100325 WHERE pid = 44304;
+UPDATE profiles SET ax_id = 20100326 WHERE pid = 44305;
+UPDATE profiles SET ax_id = 20100327 WHERE pid = 44306;
+UPDATE profiles SET ax_id = 20100328 WHERE pid = 44307;
+UPDATE profiles SET ax_id = 20100329 WHERE pid = 44308;
+UPDATE profiles SET ax_id = 20100330 WHERE pid = 44309;
+UPDATE profiles SET ax_id = 20100331 WHERE pid = 44310;
+UPDATE profiles SET ax_id = 20100332 WHERE pid = 44311;
+UPDATE profiles SET ax_id = 20100333 WHERE pid = 44312;
+UPDATE profiles SET ax_id = 20100334 WHERE pid = 44313;
+UPDATE profiles SET ax_id = 20100335 WHERE pid = 44314;
+UPDATE profiles SET ax_id = 20100336 WHERE pid = 44315;
+UPDATE profiles SET ax_id = 20100337 WHERE pid = 44316;
+UPDATE profiles SET ax_id = 20100338 WHERE pid = 44317;
+UPDATE profiles SET ax_id = 20100339 WHERE pid = 44318;
+UPDATE profiles SET ax_id = 20100340 WHERE pid = 44319;
+UPDATE profiles SET ax_id = 20100341 WHERE pid = 44320;
+UPDATE profiles SET ax_id = 20100342 WHERE pid = 44321;
+UPDATE profiles SET ax_id = 20100343 WHERE pid = 44322;
+UPDATE profiles SET ax_id = 20100344 WHERE pid = 44323;
+UPDATE profiles SET ax_id = 20100345 WHERE pid = 44324;
+UPDATE profiles SET ax_id = 20100346 WHERE pid = 44325;
+UPDATE profiles SET ax_id = 20100347 WHERE pid = 44326;
+UPDATE profiles SET ax_id = 20100348 WHERE pid = 44327;
+UPDATE profiles SET ax_id = 20100349 WHERE pid = 44328;
+UPDATE profiles SET ax_id = 20100350 WHERE pid = 44329;
+UPDATE profiles SET ax_id = 20100351 WHERE pid = 44330;
+UPDATE profiles SET ax_id = 20100352 WHERE pid = 44331;
+UPDATE profiles SET ax_id = 20100353 WHERE pid = 44332;
+UPDATE profiles SET ax_id = 20100354 WHERE pid = 44333;
+UPDATE profiles SET ax_id = 20100355 WHERE pid = 44334;
+UPDATE profiles SET ax_id = 20100356 WHERE pid = 44335;
+UPDATE profiles SET ax_id = 20100357 WHERE pid = 44336;
+UPDATE profiles SET ax_id = 20100358 WHERE pid = 44337;
+UPDATE profiles SET ax_id = 20100359 WHERE pid = 44338;
+UPDATE profiles SET ax_id = 20100360 WHERE pid = 44339;
+UPDATE profiles SET ax_id = 20100361 WHERE pid = 44340;
+UPDATE profiles SET ax_id = 20100362 WHERE pid = 44341;
+UPDATE profiles SET ax_id = 20100363 WHERE pid = 44342;
+UPDATE profiles SET ax_id = 20100364 WHERE pid = 44343;
+UPDATE profiles SET ax_id = 20100365 WHERE pid = 44345;
+UPDATE profiles SET ax_id = 20100366 WHERE pid = 44346;
+UPDATE profiles SET ax_id = 20100367 WHERE pid = 44347;
+UPDATE profiles SET ax_id = 20100368 WHERE pid = 44348;
+UPDATE profiles SET ax_id = 20100369 WHERE pid = 44349;
+UPDATE profiles SET ax_id = 20100370 WHERE pid = 44350;
+UPDATE profiles SET ax_id = 20100371 WHERE pid = 44351;
+UPDATE profiles SET ax_id = 20100372 WHERE pid = 44352;
+UPDATE profiles SET ax_id = 20100373 WHERE pid = 44353;
+UPDATE profiles SET ax_id = 20100374 WHERE pid = 44354;
+UPDATE profiles SET ax_id = 20100375 WHERE pid = 44355;
+UPDATE profiles SET ax_id = 20100376 WHERE pid = 44356;
+UPDATE profiles SET ax_id = 20100377 WHERE pid = 44357;
+UPDATE profiles SET ax_id = 20100378 WHERE pid = 44358;
+UPDATE profiles SET ax_id = 20100379 WHERE pid = 44359;
+UPDATE profiles SET ax_id = 20100380 WHERE pid = 44362;
+UPDATE profiles SET ax_id = 20100381 WHERE pid = 44363;
+UPDATE profiles SET ax_id = 20100382 WHERE pid = 44364;
+UPDATE profiles SET ax_id = 20100383 WHERE pid = 44366;
+UPDATE profiles SET ax_id = 20100384 WHERE pid = 44367;
+UPDATE profiles SET ax_id = 20100385 WHERE pid = 44092;
+UPDATE profiles SET ax_id = 20100386 WHERE pid = 44368;
+UPDATE profiles SET ax_id = 20100387 WHERE pid = 44369;
+UPDATE profiles SET ax_id = 20100388 WHERE pid = 44093;
+UPDATE profiles SET ax_id = 20100389 WHERE pid = 44370;
+UPDATE profiles SET ax_id = 20100390 WHERE pid = 44371;
+UPDATE profiles SET ax_id = 20100391 WHERE pid = 44372;
+UPDATE profiles SET ax_id = 20100392 WHERE pid = 44373;
+UPDATE profiles SET ax_id = 20100393 WHERE pid = 44374;
+UPDATE profiles SET ax_id = 20100394 WHERE pid = 44377;
+UPDATE profiles SET ax_id = 20100395 WHERE pid = 44378;
+UPDATE profiles SET ax_id = 20100396 WHERE pid = 44379;
+UPDATE profiles SET ax_id = 20100397 WHERE pid = 44380;
+UPDATE profiles SET ax_id = 20100398 WHERE pid = 44382;
+UPDATE profiles SET ax_id = 20100399 WHERE pid = 44361;
+UPDATE profiles SET ax_id = 20100400 WHERE pid = 44383;
+UPDATE profiles SET ax_id = 20100401 WHERE pid = 44384;
+UPDATE profiles SET ax_id = 20100402 WHERE pid = 44385;
+UPDATE profiles SET ax_id = 20100403 WHERE pid = 44386;
+UPDATE profiles SET ax_id = 20100404 WHERE pid = 44388;
+UPDATE profiles SET ax_id = 20100405 WHERE pid = 44389;
+UPDATE profiles SET ax_id = 20100406 WHERE pid = 44390;
+UPDATE profiles SET ax_id = 20100407 WHERE pid = 44392;
+UPDATE profiles SET ax_id = 20100408 WHERE pid = 44393;
+UPDATE profiles SET ax_id = 20100409 WHERE pid = 44394;
+UPDATE profiles SET ax_id = 20100410 WHERE pid = 44395;
+UPDATE profiles SET ax_id = 20100411 WHERE pid = 44398;
+UPDATE profiles SET ax_id = 20100412 WHERE pid = 44399;
+UPDATE profiles SET ax_id = 20100413 WHERE pid = 44400;
+UPDATE profiles SET ax_id = 20100414 WHERE pid = 44401;
+UPDATE profiles SET ax_id = 20100415 WHERE pid = 44402;
+UPDATE profiles SET ax_id = 20100416 WHERE pid = 44403;
+UPDATE profiles SET ax_id = 20100417 WHERE pid = 44404;
+UPDATE profiles SET ax_id = 20100418 WHERE pid = 44405;
+UPDATE profiles SET ax_id = 20100419 WHERE pid = 44406;
+UPDATE profiles SET ax_id = 20100420 WHERE pid = 44411;
+UPDATE profiles SET ax_id = 20100421 WHERE pid = 44412;
+UPDATE profiles SET ax_id = 20100422 WHERE pid = 44413;
+UPDATE profiles SET ax_id = 20100423 WHERE pid = 44414;
+UPDATE profiles SET ax_id = 20100424 WHERE pid = 44415;
+UPDATE profiles SET ax_id = 20100425 WHERE pid = 44417;
+UPDATE profiles SET ax_id = 20100426 WHERE pid = 44420;
+UPDATE profiles SET ax_id = 20100427 WHERE pid = 44423;
+UPDATE profiles SET ax_id = 20100428 WHERE pid = 44428;
+UPDATE profiles SET ax_id = 20100429 WHERE pid = 43957;
+UPDATE profiles SET ax_id = 20100430 WHERE pid = 43958;
+UPDATE profiles SET ax_id = 20100431 WHERE pid = 43960;
+UPDATE profiles SET ax_id = 20100432 WHERE pid = 43962;
+UPDATE profiles SET ax_id = 20100433 WHERE pid = 43963;
+UPDATE profiles SET ax_id = 20100434 WHERE pid = 43975;
+UPDATE profiles SET ax_id = 20100435 WHERE pid = 43982;
+UPDATE profiles SET ax_id = 20100436 WHERE pid = 43992;
+UPDATE profiles SET ax_id = 20100437 WHERE pid = 43995;
+UPDATE profiles SET ax_id = 20100438 WHERE pid = 43996;
+UPDATE profiles SET ax_id = 20100439 WHERE pid = 44001;
+UPDATE profiles SET ax_id = 20100440 WHERE pid = 44007;
+UPDATE profiles SET ax_id = 20100441 WHERE pid = 44008;
+UPDATE profiles SET ax_id = 20100442 WHERE pid = 44009;
+UPDATE profiles SET ax_id = 20100443 WHERE pid = 44020;
+UPDATE profiles SET ax_id = 20100444 WHERE pid = 44027;
+UPDATE profiles SET ax_id = 20100445 WHERE pid = 44039;
+UPDATE profiles SET ax_id = 20100446 WHERE pid = 44041;
+UPDATE profiles SET ax_id = 20100447 WHERE pid = 44052;
+UPDATE profiles SET ax_id = 20100448 WHERE pid = 44059;
+UPDATE profiles SET ax_id = 20100449 WHERE pid = 44061;
+UPDATE profiles SET ax_id = 20100450 WHERE pid = 44081;
+UPDATE profiles SET ax_id = 20100451 WHERE pid = 44104;
+UPDATE profiles SET ax_id = 20100452 WHERE pid = 44121;
+UPDATE profiles SET ax_id = 20100453 WHERE pid = 44124;
+UPDATE profiles SET ax_id = 20100454 WHERE pid = 44139;
+UPDATE profiles SET ax_id = 20100455 WHERE pid = 44163;
+UPDATE profiles SET ax_id = 20100456 WHERE pid = 44165;
+UPDATE profiles SET ax_id = 20100457 WHERE pid = 44170;
+UPDATE profiles SET ax_id = 20100458 WHERE pid = 44171;
+UPDATE profiles SET ax_id = 20100459 WHERE pid = 44189;
+UPDATE profiles SET ax_id = 20100460 WHERE pid = 44193;
+UPDATE profiles SET ax_id = 20100461 WHERE pid = 44197;
+UPDATE profiles SET ax_id = 20100462 WHERE pid = 44202;
+UPDATE profiles SET ax_id = 20100463 WHERE pid = 44209;
+UPDATE profiles SET ax_id = 20100464 WHERE pid = 44211;
+UPDATE profiles SET ax_id = 20100465 WHERE pid = 44212;
+UPDATE profiles SET ax_id = 20100466 WHERE pid = 44236;
+UPDATE profiles SET ax_id = 20100467 WHERE pid = 44247;
+UPDATE profiles SET ax_id = 20100468 WHERE pid = 44246;
+UPDATE profiles SET ax_id = 20100469 WHERE pid = 44248;
+UPDATE profiles SET ax_id = 20100470 WHERE pid = 44249;
+UPDATE profiles SET ax_id = 20100471 WHERE pid = 44260;
+UPDATE profiles SET ax_id = 20100472 WHERE pid = 44269;
+UPDATE profiles SET ax_id = 20100474 WHERE pid = 44290;
+UPDATE profiles SET ax_id = 20100475 WHERE pid = 44293;
+UPDATE profiles SET ax_id = 20100476 WHERE pid = 44294;
+UPDATE profiles SET ax_id = 20100477 WHERE pid = 44295;
+UPDATE profiles SET ax_id = 20100478 WHERE pid = 44300;
+UPDATE profiles SET ax_id = 20100480 WHERE pid = 44303;
+UPDATE profiles SET ax_id = 20100481 WHERE pid = 44344;
+UPDATE profiles SET ax_id = 20100482 WHERE pid = 44360;
+UPDATE profiles SET ax_id = 20100483 WHERE pid = 44365;
+UPDATE profiles SET ax_id = 20100484 WHERE pid = 44375;
+UPDATE profiles SET ax_id = 20100485 WHERE pid = 44376;
+UPDATE profiles SET ax_id = 20100486 WHERE pid = 44381;
+UPDATE profiles SET ax_id = 20100487 WHERE pid = 44387;
+UPDATE profiles SET ax_id = 20100488 WHERE pid = 44391;
+UPDATE profiles SET ax_id = 20100489 WHERE pid = 44396;
+UPDATE profiles SET ax_id = 20100490 WHERE pid = 44397;
+UPDATE profiles SET ax_id = 20100491 WHERE pid = 44407;
+UPDATE profiles SET ax_id = 20100492 WHERE pid = 44408;
+UPDATE profiles SET ax_id = 20100493 WHERE pid = 44409;
+UPDATE profiles SET ax_id = 20100494 WHERE pid = 44410;
+UPDATE profiles SET ax_id = 20100495 WHERE pid = 44416;
+UPDATE profiles SET ax_id = 20100496 WHERE pid = 44418;
+UPDATE profiles SET ax_id = 20100497 WHERE pid = 44419;
+UPDATE profiles SET ax_id = 20100498 WHERE pid = 44421;
+UPDATE profiles SET ax_id = 20100499 WHERE pid = 44422;
+UPDATE profiles SET ax_id = 20100500 WHERE pid = 44424;
+UPDATE profiles SET ax_id = 20100501 WHERE pid = 44425;
+UPDATE profiles SET ax_id = 20100502 WHERE pid = 44426;
+UPDATE profiles SET ax_id = 20100503 WHERE pid = 44427;
+
+-- Updates promo for oranjes who only stated their orajisation to AX.
+-- WARNING: this does not affect the display of their promotion anywhere. It will just allow them to attend events to both promotions.
+-- Also they wiil not need to require a validation if they want to change promo on the site.
+
+UPDATE profile_education
+ SET grad_year = grad_year + 1
+ WHERE FIND_IN_SET('primary', flags) AND pid IN (42018, 42216, 43135, 43216, 42981, 43039, 41827, 42322);
+
+-- Same as before but double orajisation.
+UPDATE profile_education
+ SET grad_year = grad_year + 2
+ WHERE FIND_IN_SET('primary', flags) AND pid = 41291;
+
+-- Fixes erroneous data
+UPDATE profile_education
+ SET entry_year = 1951, grad_year = 1954
+ WHERE FIND_IN_SET('primary', flags) AND pid = 29674;
+UPDATE profile_display
+ SET promo = 'X1951'
+ WHERE pid = 29674;
+
+-- Inserts missing couple (education, degree) required by AX data.
+INSERT IGNORE INTO profile_education_degree (eduid, degreeid)
+ VALUES (182, 2);
+
+-- vim:set syntax=mysql:;