28 require
'../main.inc.php';
29 require_once DOL_DOCUMENT_ROOT.
'/adherents/class/adherent.class.php';
30 require_once DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php';
31 require_once DOL_DOCUMENT_ROOT.
'/core/class/vcard.class.php';
34 $ref =
GETPOST(
'ref',
'alphanohtml');
36 $object =
new adherent($db);
39 if ($id > 0 || !empty($ref)) {
41 $result = $object->fetch($id, $ref);
44 $canadduser = ($user->admin || $user->rights->user->user->creer);
46 if ($object->user_id) {
48 $caneditfielduser = ((($user->id == $object->user_id) && $user->rights->user->self->creer)
49 || (($user->id != $object->user_id) && $user->rights->user->user->creer));
50 $caneditpassworduser = ((($user->id == $object->user_id) && $user->rights->user->self->password)
51 || (($user->id != $object->user_id) && $user->rights->user->user->password));
56 $canaddmember = $user->rights->adherent->creer;
59 $caneditfieldmember = $user->rights->adherent->creer;
63 $result =
restrictedArea($user,
'adherent', $object->id,
'',
'',
'socid',
'rowid', 0);
79 $result = $company->fetch($object->socid);
86 $v->setProdId(
'Dolibarr '.DOL_VERSION);
88 $v->setUid(
'DOLIBARR-ADHERENTID-'.$object->id);
89 $v->setName($object->lastname, $object->firstname,
"", $object->civility,
"");
90 $v->setFormattedName($object->getFullName($langs, 1));
92 $v->setPhoneNumber($object->phone_pro,
"TYPE=WORK;VOICE");
94 $v->setPhoneNumber($object->phone_mobile,
"TYPE=CELL;VOICE");
95 $v->setPhoneNumber($object->fax,
"TYPE=WORK;FAX");
97 $country = $object->country_code ? $object->country :
'';
99 $v->setAddress(
"",
"", $object->address, $object->town, $object->state, $object->zip, $country,
"TYPE=WORK;POSTAL");
100 $v->setLabel(
"",
"", $object->address, $object->town, $object->state, $object->zip, $country,
"TYPE=WORK");
102 $v->setEmail($object->email);
103 $v->setNote($object->note_public);
104 $v->setTitle($object->poste);
108 $v->setURL($company->url,
"TYPE=WORK");
109 if (!$object->phone_pro) {
110 $v->setPhoneNumber($company->phone,
"TYPE=WORK;VOICE");
113 $v->setPhoneNumber($company->fax,
"TYPE=WORK;FAX");
116 $v->setAddress(
"",
"", $company->address, $company->town, $company->state, $company->zip, $company->country,
"TYPE=WORK;POSTAL");
119 if (empty(trim($company->email))) {
121 } elseif (empty(trim($object->email))) {
123 $v->setEmail($company->email);
124 } elseif (strtolower(end(explode(
"@", $object->email))) == strtolower(end(explode(
"@", $company->email)))) {
126 $v->setEmail($object->email);
129 $v->setEmail($company->email,
'INTERNET');
132 $v->setEmail($company->email);
135 $v->setEmail($object->email,
'INTERNET');
139 if ($company->typent_code !=
'TE_PRIVATE') {
140 $v->setOrg($company->name);
145 $v->setPhoneNumber($object->phone_perso,
"TYPE=HOME;VOICE");
146 if ($object->birth) {
147 $v->setBirthday($object->birth);
155 $output = $v->getVCard();
157 $filename = trim(urldecode($v->getFileName()));
162 header(
"Content-Disposition: attachment; filename=\"".$filename.
"\"");
163 header(
"Content-Length: ".
dol_strlen($output));
164 header(
"Connection: close");
165 header(
"Content-Type: text/x-vcard; name=\"".$filename.
"\"");