- // alias virtual
- $res = XDB::query(
- "SELECT alias
- FROM virtual
- INNER JOIN virtual_redirect USING(vid)
- INNER JOIN auth_user_quick ON ( user_id = {?} AND emails_alias_pub = 'public' )
- WHERE ( redirect={?} OR redirect={?} )
- AND alias LIKE '%@{$globals->mail->alias_dom}'",
- S::v('uid'),
- $user['forlife'].'@'.$globals->mail->domain,
- $user['forlife'].'@'.$globals->mail->domain2);
-
- $user['virtualalias'] = $res->fetchOneCell();
- $user['gpxs_vcardjoin'] = join(',', array_map(array($this, 'text_encode'), $user['gpxs_name']));
- $user['binets_vcardjoin'] = join(',', array_map(array($this, 'text_encode'), $user['binets']));
- // get photo
+ // 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 (!empty($adr['fixed_tel'])) {
+ $entry->addTel($group, $adr['fixed_tel']);
+ }
+ if (!empty($adr['fax_tel'])) {
+ $entry->addTel($group, $adr['display_tel'], true);
+ }
+ /* TODO : fetch email for jobs, too
+ if (!empty($pro['email'])) {
+ $entry->addMail($group, $pro['email']);
+ }
+ */
+ }
+
+ // Melix
+ if (!is_null($user)) {
+ $alias = $user->emailAlias();
+ if (!is_null($alias)) {
+ $entry->addMail(null, $alias);
+ }
+ }
+
+ // Custom fields
+ if (!is_null($user)) {
+ $groups = $user->groups();
+ if (count($groups)) {
+ $gn = DirEnum::getOptions(DirEnum::GROUPESX);
+ $gns = array();
+ foreach (array_keys($groups) as $gid) {
+ $gns[$gid] = $gn[$gid];
+ }
+ $entry->set('X-GROUPS', join(', ', $gns));
+ }
+ }
+
+ $binets = $pf->getBinets();
+
+ if (count($binets)) {
+ $bn = DirEnum::getOptions(DirEnum::BINETS);
+ $bns = array();
+ foreach ($binets as $bid) {
+ $bns[$bid] = $bn[$bid];
+ }
+ $entry->set('X-BINETS', join(', ', $bid));
+ }
+ if (!empty($pf->section)) {
+ $sections = DirEnum::getOptions(DirEnum::SECTIONS);
+ $entry->set('X-SECTION', $sections[$pf->section]);
+ }
+
+ // Photo