<?php
/***************************************************************************
- * Copyright (C) 2003-2010 Polytechnique.org *
+ * Copyright (C) 2003-2011 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
$freetext .= "\n" . $this->freetext;
}
$entry->set('NOTE', $freetext);
- // Mobile
- if (!empty($pf->mobile)) {
+ if ($pf->mobile) {
$entry->addTel(null, $pf->mobile, false, true, true, false, true, true);
}
// Homes
$adrs = $pf->iterAddresses(Profile::ADDRESS_PERSO);
while ($adr = $adrs->next()) {
- // TODO : find a way to fetch only the "street" part of the address
- $group = $entry->addHome($adr->text, null, null, $adr->postalCode,
- $adr->locality, $adr->administrativeArea, $adr->country,
- $adr->hasFlag('current'), $adr->hasFlag('mail'), $adr->hasFlag('mail'));
+ if (!$adr->postalCode || !$adr->locality || !$adr->country) {
+ $group = $entry->addHome($adr->text, null, null, null,
+ null, $adr->administrativeArea, null,
+ $adr->hasFlag('current'), $adr->hasFlag('mail'), $adr->hasFlag('mail'));
+ } else {
+ // TODO : find a way to fetch only the "street" part of the address
+ $group = $entry->addHome($adr->text, null, null, $adr->postalCode,
+ $adr->locality, $adr->administrativeArea, $adr->country,
+ $adr->hasFlag('current'), $adr->hasFlag('mail'), $adr->hasFlag('mail'));
+ }
foreach ($adr->phones() as $phone) {
- if ($phone->type == Phone::TYPE_FIXED) {
+ if ($phone->link_type == Phone::TYPE_FIXED) {
$entry->addTel($group, $phone->display, false, true, true, false, false,
$adr->hasFlag('current') && empty($pf->mobile));
- } else if ($phone->type == Phone::TYPE_FAX) {
+ } else if ($phone->link_type == Phone::TYPE_FAX) {
$entry->addTel($group, $phone->display, true, false, false, false, false, false);
}
}
// Pro
$adrs = $pf->iterAddresses(Profile::ADDRESS_PRO);
while ($adr = $adrs->next()) {
- // TODO : link address to company
- $group = $entry->addWork(null, null, null, null,
- $adr->text, null, null, $adr->postalCode,
- $adr->locality, $adr->administrativeArea, $adr->country);
+ if (!$adr->postalCode || !$adr->locality || !$adr->country) {
+ $group = $entry->addWork(null, null, null, null,
+ $adr->text, null, null, null,
+ null, $adr->administrativeArea, null);
+ } else {
+ // TODO : link address to company
+ $group = $entry->addWork(null, null, null, null,
+ $adr->text, null, null, $adr->postalCode,
+ $adr->locality, $adr->administrativeArea, $adr->country);
+ }
foreach ($adr->phones() as $phone) {
- if ($phone->type == Phone::TYPE_FIXED) {
+ if ($phone->link_type == Phone::TYPE_FIXED) {
$entry->addTel($group, $phone->display);
- } else if ($phone->type == Phone::TYPE_FAX) {
+ } else if ($phone->link_type == Phone::TYPE_FAX) {
$entry->addTel($group, $phone->display, true);
}
}
// Melix
if (!is_null($user)) {
$alias = $user->emailAlias();
- if (!is_null($alias)) {
+ if (!is_null($alias) && $pf->alias_pub == 'pub') {
$entry->addMail(null, $alias);
}
}
// Custom fields
if (!is_null($user)) {
- $groups = $user->groups();
+ $groups = $user->groups(true, true);
if (count($groups)) {
$gn = DirEnum::getOptions(DirEnum::GROUPESX);
$gns = array();
$entry->set('X-BINETS', join(', ', $bns));
}
if (!empty($pf->section)) {
- $sections = DirEnum::getOptions(DirEnum::SECTIONS);
- $entry->set('X-SECTION', $sections[$pf->section]);
+ $entry->set('X-SECTION', $pf->section);
}
// Photo