$this->search_names = array();
foreach ($value as &$sn) {
$sn['name'] = trim($sn['name']);
- if ($sn['type'] == 'firstname' || $sn['type'] == 'lastname') {
+ if (S::user()->isMe($this->owner) && ($sn['type'] == 'firstname' || $sn['type'] == 'lastname')) {
$sn['name'] = $this->prepare($page, $sn['type'], $sn['name'],
$initial[$sn['type']], $success_tmp);
$success = $success && $success_tmp;
$names = array();
foreach ($value as $name) {
if ($name['name'] != '') {
- $names[] = $name['type_name'] . ' : ' . $name['name'];
+ $names[] = mb_strtolower($name['type_name']) . ' : ' . $name['name'];
}
}
return implode(', ' , $names);
$degreesList = DirEnum::getOptions(DirEnum::EDUDEGREES);
$fieldsList = DirEnum::getOptions(DirEnum::EDUFIELDS);
$educations = array();
- foreach ($value as $education) {
- $educations[] = 'Université : ' . $schoolsList[$education['eduid']]
- . ', diplôme : ' . $degreesList[$education['degreeid']]
- . ', domaine : ' . $fieldsList[$education['fieldid']]
- . ', année d\'obtention : ' . $education['grad_year']
- . ', intitulé : ' . $education['program'];
+ foreach ($value as $id => $education) {
+ // XXX: the following condition should be removed once there are no more incomplete educations.
+ if (is_null($education['eduid']) || is_null($education['degreeid'])) {
+ if (is_null($education['eduid']) && is_null($education['degreeid'])) {
+ $educations[$id] = 'formation manquante';
+ } else {
+ $educations[$id] = (is_null($education['eduid']) ? 'université manquante' : $schoolsList[$education['eduid']]) . ', '
+ . (is_null($education['degreeid']) ? 'diplôme manquant' : $degreesList[$education['degreeid']]);
+ }
+ } else {
+ $educations[$id] = $schoolsList[$education['eduid']] . ', ' . $degreesList[$education['degreeid']];
+ }
+
+ $details = array();
+ if ($education['grad_year']) {
+ $details[] = $education['grad_year'];
+ }
+ if ($education['program']) {
+ $details[] = '« ' . $education['program'] . ' »';
+ }
+ if ($education['fieldid']) {
+ $details[] = $fieldsList[$education['fieldid']];
+ }
+ if (count($details)) {
+ $educations[$id] .= ' (' . implode(', ', $details) . ')';
+ }
}
return implode(', ', $educations);
}
}
public function getText($value) {
+ static $pubs = array('public' => 'publique', 'ax' => 'annuaire AX', 'private' => 'privé');
$networkings = array();
foreach ($value as $network) {
- $networkings[] = 'nom : ' . $network['name'] . ', adresse : ' . $network['address']
- . ', affichage : ' . $network['pub'];
+ $networkings[] = $network['name'] . ' : ' . $network['address'] . ' (affichage ' . $pubs[$network['pub']] . ')';
}
- return implode(' ; ' , $networkings);
+ return implode(', ' , $networkings);
}
}
parent::__construct($wiz);
$this->settings['search_names']
= new ProfileSettingSearchNames();
- $this->settings['birthdate'] = new ProfileSettingDate();
$this->settings['nationality1']
= $this->settings['nationality2']
= $this->settings['nationality3']
/* Some fields editable under condition */
if (!S::user()->isMe($this->owner)) {
$this->settings['deathdate'] = new ProfileSettingDate(true);
+ $this->settings['birthdate'] = new ProfileSettingDate(true);
+ } else {
+ $this->settings['yourself'] = null;
+ $this->settings['birthdate'] = new ProfileSettingDate();
}
if (S::user()->checkPerms('directory_private')
|| S::user()->isMyProfile($this->owner)) {
- $this->settings['yourself']
- = $this->settings['freetext']
- = null;
+ $this->settings['freetext'] = null;
$this->settings['freetext_pub']
= $this->settings['photo_pub']
= new ProfileSettingPub();
protected function _fetchData()
{
// Checkout all data...
- $res = XDB::query("SELECT p.nationality1, p.nationality2, p.nationality3, p.birthdate,
+ $res = XDB::query("SELECT p.nationality1, p.nationality2, p.nationality3, IF(p.birthdate = 0, '', p.birthdate) AS birthdate,
p.email_directory as email_directory, pd.promo AS promo_display,
p.freetext, p.freetext_pub, p.ax_id AS matricule_ax, pd.yourself,
p.deathdate
$res = XDB::query("SELECT pub
FROM profile_photos
WHERE pid = {?}", $this->pid());
- $this->values['photo_pub'] = $res->fetchOneCell();
+ if ($res->numRows() == 0) {
+ $this->values['photo_pub'] = 'private';
+ } else {
+ $this->values['photo_pub'] = $res->fetchOneCell();
+ }
if ($this->owner) {
$res = XDB::query("SELECT COUNT(*)