<?php
/***************************************************************************
- * Copyright (C) 2003-2011 Polytechnique.org *
+ * Copyright (C) 2003-2014 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
'yourself' => 'Nom affiché',
'freetext' => 'Commentaire',
'freetext_pub' => 'Affichage du commentaire',
+ 'axfreetext' => 'Commentaire AX',
'photo' => 'Photographie',
'photo_pub' => 'Affichage de la photographie',
'addresses' => 'Adresses',
$this->visibility = $visibility;
}
- private function __destruct()
+ public function __destruct()
{
// Need to delete objects allocated by the profile
// http://www.php.net/manual/en/function.unset.php#98692
return $this->short_name;
}
+ public function sortName()
+ {
+ return $this->sort_name;
+ }
+
public function firstName()
{
return $this->firstname_ordinary;
}
XDB::execute("UPDATE profiles
- SET cv = NULL, freetext = NULL, freetext_pub = 'private',
+ SET cv = NULL, freetext = NULL, freetext_pub = 'private', axfreetext = NULL,
medals_pub = 'private', alias_pub = 'hidden',
email_directory = NULL
WHERE pid = {?}",
return $this->corps;
}
+ /**
+ * Retrieve the name of the corps which has been done.
+ *
+ * Note: this function first tries getCorps(), and if this field is blank
+ * tries to find an education which degree is "Corps".
+ *
+ * Returns an empty string if nothing has been found.
+ */
+ public function getCorpsName()
+ {
+ $corps = $this->getCorps();
+ if ($corps && $corps->current) {
+ $corpsList = DirEnum::getOptions(DirEnum::CURRENTCORPS);
+ return $corpsList[$corps->current];
+ }
+
+ foreach ($this->getExtraEducations() as $edu) {
+ if (!strcasecmp($edu->degree, 'Corps')) {
+ if ($edu->school_short) {
+ return $edu->school_short;
+ } elseif ($edu->school) {
+ return $edu->school;
+ }
+ }
+ }
+ return '';
+ }
+
/** Networking
*/
private $networks = null;
}
}
+ /* Hobbies
+ */
+ public function getHobbies() {
+ if ($this->visibility->isVisible(Visibility::EXPORT_PRIVATE)) {
+ return XDB::fetchAllAssoc('type', 'SELECT type, GROUP_CONCAT(text)
+ FROM profile_hobby
+ WHERE pid = {?}
+ GROUP BY type', $this->id());
+ } else {
+ return XDB::fetchAllAssoc('type', 'SELECT type, GROUP_CONCAT(text)
+ FROM profile_hobby
+ WHERE pub = \'public\' AND pid = {?}
+ GROUP BY type', $this->id());
+ }
+ }
+
/* Medals
*/
private $medals = null;
IF (ppn.firstname_ordinary = \'\', ppn.firstname_main, ppn.firstname_ordinary) AS firstname_ordinary,
IF (ppn.lastname_ordinary = \'\', ppn.lastname_main, ppn.lastname_ordinary) AS lastname_ordinary,
pd.yourself, pd.promo, pd.short_name, pd.public_name AS full_name,
- pd.directory_name, pd.public_name, pd.private_name,
+ pd.directory_name, pd.public_name, pd.private_name, pd.sort_name,
IF (pp.pub >= {?}, pp.display_tel, NULL) AS mobile,
(ph.pub >= {?} AND ph.attach IS NOT NULL) AS has_photo, ph.pub as photo_pub,
ph.x AS photo_width, ph.y AS photo_height,
}
}
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
?>