private static function profile_to_contact($p) { $contact = array('Prénom' => $p->firstName(), 'Nom' => $p->lastName(), 'Notes' => '(' . $p->promo . ')', 'Tél. mobile' => $p->mobile, 'Anniversaire' => $p->birthdate, 'Surnom' => $p->nickname); // Homes $adrs = $p->iterAddresses(Profile::ADDRESS_PERSO); if ($adr = $adrs->next()) { Outlook::add_address($adr, $contact, 'domicile'); } if ($adr = $adrs->next()) { Outlook::add_address($adr, $contact, 'autre'); } // Pro $adrs = $p->iterAddresses(Profile::ADDRESS_PRO); if ($adr = $adrs->next()) { Outlook::add_address($adr, $contact, 'bureau'); } $mainjob = $p->getMainJob(); if ($mainjob && $mainjob->company) { $contact['Société '] = $mainjob->company->name; } if (!empty($p->section)) { $contact['Utilisateur 2'] = 'Section : ' . $p->section; } if ($p->isFemale()) { $contact['Sexe'] = 'Féminin'; } else { $contact['Sexe'] = 'Masculin'; } $binets = $p->getBinets(); if (count($binets)) { $bn = DirEnum::getOptions(DirEnum::BINETS); $bns = array(); foreach (array_keys($binets) as $bid) { if (!empty($bn[$bid])) { $bns[$bid] = $bn[$bid]; } } if (count($bns) > 0) { $contact['Utilisateur 3'] = 'Binets : ' . join(', ', $bns); } } $user = $p->owner(); if ($user) { $contact['Adresse de messagerie'] = $user->bestalias; $contact['Nom complet de l\'adresse de messagerie'] = $p->fullName() . ' <' . $user->bestalias . '>'; if ($user->bestalias != $user->forlife) { $contact['Adresse de messagerie 3'] = $user->forlife; $contact['Nom complet de l\'adresse de messagerie 3'] = $p->fullName() . ' <' . $user->forlife . '>'; } $groups = $user->groups(); if (count($groups)) { $gn = DirEnum::getOptions(DirEnum::GROUPESX); $gns = array(); foreach (array_keys($groups) as $gid) { if (!empty($gn[$gid])) { $gns[$gid] = $gn[$gid]; } } if (count($gns) > 0) { $contact['Utilisateur 1'] = 'Groupes X : ' . join(', ', $gns); } } } return $contact; }