+ // Free text
+ $freetext = '(' . $pf->promo . ')';
+ if ($this->freetext) {
+ $freetext .= "\n" . $this->freetext;
+ }
+ $entry->set('NOTE', $freetext);
+ if ($pf->mobile) {
+ $entry->addTel(null, $pf->mobile, false, true, true, false, true, true);
+ }
+
+ // Emails
+ if (!is_null($user)) {
+ $entry->addMail(null, $user->bestalias, true);
+ $entry->addMail(null, $user->bestalias_alternate);
+ if ($user->forlife != $user->bestalias) {
+ $entry->addMail(null, $user->forlife);
+ $entry->addMail(null, $user->forlife_alternate);
+ }
+ }
+
+ // Homes
+ $adrs = $pf->iterAddresses(Profile::ADDRESS_PERSO);
+ while ($adr = $adrs->next()) {
+ 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->linkType() == Phone::TYPE_FIXED) {
+ $entry->addTel($group, $phone->display, false, true, true, false, false,
+ $adr->hasFlag('current') && empty($pf->mobile));
+ } else if ($phone->linkType() == Phone::TYPE_FAX) {
+ $entry->addTel($group, $phone->display, true, false, false, false, false, false);
+ }
+ }