function CarteIndividu($individu) { $v = new vCard(); $acl = Zend_Registry::get('acl'); $ind = Zend_Registry::get('user'); if ($acl->isAllowed($ind, $individu, 'fiche')) { $v->setName($individu->nom, $individu->prenom); if ($individu->naissance) { $v->setBirthday($individu->naissance); } $t0 = explode("\n", $individu->adresse); $t0 = array_pad($t0, 3, ''); list($adresse, $ville, $pays) = $t0; if (preg_match("`(\\d{5}) (.*)`", $ville, $res)) { $v->setAddress("", "", $adresse, $res[2], "", $res[1], $pays); } $v->setPhoneNumber($individu->fixe, "HOME"); $v->setPhoneNumber($individu->portable, "CELL"); if ($photo = $individu->getCheminImage()) { $v->setPhoto('jpeg', file_get_contents($photo)); } $v->setEmail($individu->adelec); $v->setURL($this->view->urlIndividu($individu, 'fiche', 'individus', true, true)); } else { $v->setName($individu->getName()); $v->setBirthday(substr($individu->naissance, 0, 4)); } array_push($this->view->vcards, $v); }
if (!$contact->fax) { $v->setPhoneNumber($company->fax, "WORK;FAX"); } if (!$contact->zip) { $v->setAddress("", "", $company->address, $company->town, "", $company->zip, $company->country_code, "WORK;POSTAL"); } if ($company->email != $contact->email) { $v->setEmail($company->email, 'internet'); } // Si contact lie a un tiers non de type "particulier" if ($contact->typent_code != 'TE_PRIVATE') { $v->setOrg($company->nom); } } // Personal informations $v->setPhoneNumber($contact->phone_perso, "HOME;VOICE"); if ($contact->birthday) { $v->setBirthday($contact->birthday); } $db->close(); // Renvoi la VCard au navigateur $output = $v->getVCard(); $filename = trim(urldecode($v->getFileName())); // "Nom prenom.vcf" $filenameurlencoded = dol_sanitizeFileName(urlencode($filename)); //$filename = dol_sanitizeFileName($filename); header("Content-Disposition: attachment; filename=\"" . $filename . "\""); header("Content-Length: " . dol_strlen($output)); header("Connection: close"); header("Content-Type: text/x-vcard; name=\"" . $filename . "\""); print $output;
} } $vCard->setFirstName($names[0]); $vCard->setMiddleName($middle); $vCard->setLastName($names[$anz - 1]); } if (!empty($row->location)) { $vCard->setHomeCity($row->location); $vCard->setPostalCity($row->location); } if (!empty($row->hp)) { $vCard->setURLWork($row->hp); } if (!empty($row->birthday) && $row->birthday != '0000-00-00') { $bday = str_replace('-', '', $row->birthday); $vCard->setBirthday($bday, 1); } $filename = $row->id . '.vcf'; ($code = $plugins->load('profile_vcard_prepared')) ? eval($code) : null; $text = $vCard->getCardOutput(); viscacha_header("Content-Type: text/x-vcard"); viscacha_header("Content-Disposition: attachment; filename=\"{$filename}\""); viscacha_header('Content-Length: ' . strlen($text)); echo $text; $slog->updatelogged(); $db->close(); exit; } elseif (($_GET['action'] == 'mail' || $_GET['action'] == 'sendmail') && $is_member) { $result = $db->query('SELECT id, name, opt_hidemail, mail FROM ' . $db->pre . 'user WHERE id = ' . $_GET['id'], __LINE__, __FILE__); $row = $gpc->prepare($db->fetch_object($result)); $breadcrumb->Add($lang->phrase('profile_mail_2'));
Header("Content-Type: text/x-vCard; name=$filename"); echo $output; ?> */ $user_id = $_REQUEST['user_id']; $user_id = mysql_real_escape_string($user_id); $query = "\tSELECT\n\t\t\t\t\tuser.homenr,\n\t\t\t\t\tuser.mobilnr,\n\t\t\t\t\tuser.scoutname,\n\t\t\t\t\tuser.firstname,\n\t\t\t\t\tuser.surname,\n\t\t\t\t\tuser.birthday,\n\t\t\t\t\tuser.street,\n\t\t\t\t\tuser.zipcode,\n\t\t\t\t\tuser.city,\n\t\t\t\t\tuser.mail\n\t\t\t\tFROM\n\t\t\t\t\tuser,\n\t\t\t\t\tuser as my_user,\n\t\t\t\t\tuser_camp,\n\t\t\t\t\tuser_camp as my_user_camp\n\t\t\t\tWHERE\n\t\t\t\t\tuser.id = {$user_id} AND\n\t\t\t\t\tmy_user.id = {$_user->id} AND\n\t\t\t\t\tmy_user.id = my_user_camp.user_id AND\n\t\t\t\t\tuser.id = user_camp.user_id AND\n\t\t\t\t\tuser_camp.camp_id = my_user_camp.camp_id"; $result = mysql_query($query); if (mysql_num_rows($result) < 1) { die("no result"); } $user_data = mysql_fetch_assoc($result); $birthday = new c_date(); $birthday->setDay2000($user_data[birthday]); $v = new vCard(); $v->setPhoneNumber($user_data[homenr], "PREF;HOME;VOICE"); $v->setPhoneNumber($user_data[mobilnr], "PREF;CELL;VOICE"); $v->setName($user_data[surname], $user_data[firstname], $user_data[scoutname], ""); $v->setBirthday($birthday->getString("Y-m-d")); $v->setAddress("", "", $user_data[street], $user_data[city], "", $user_data[zipcode], ""); $v->setEmail($user_data[mail]); $v->setNote("Automatisch generiert auf Basis der Daten von eCamp"); $output = $v->getVCard(); $filename = $v->getFileName(); Header("Content-Disposition: attachment; filename={$filename}"); Header("Content-Length: " . strlen($output)); Header("Connection: close"); Header("Content-Type: text/x-vCard; name={$filename}"); echo $output; die;
$sql2 = "SELECT * FROM contacts_titlelist WHERE title_id = '{$contact_title}' LIMIT 1"; $result2 = mysql_query($sql2, $conn) or die(mysql_error()); $array2 = mysql_fetch_array($result2); $title_name = $array2['title_name']; // WRAP UP OTHER INFORMATION INTO A NOTE if ($contact_reference != "") { $contact_reference = "Notes:\n" . $contact_reference; } $contact_reference = $contact_reference . "\nContact Added to Database:\n" . $contact_added; // USAGE EXAMPLE $v = new vCard(); $v->setPhoneNumber($output_telephone, "TEL;PREF;WORK;VOICE"); $v->setPhoneNumber($contact_telephone_home, "TEL;HOME;VOICE"); $v->setPhoneNumber($output_fax, "TEL;WORK;FAX"); $v->setPhoneNumber($contact_mobile, "TEL;CELL;VOICE"); $v->setName($contact_namesecond, $contact_namefirst, "", ""); $v->setTitle($title_name); $v->setBirthday(""); $v->setCompany($company_name); $v->setLabel("", "", $contact_address, $contact_city, "", $contact_postcode); $v->setAddress("", "", $company_address, $company_city, "", $company_postcode); $v->setEmail($contact_email); $v->setNote($contact_reference); $v->setURL($company_web); $output = $v->getVCard(); $filename = $v->getFileName(); //Header("Content-Disposition: attachment; filename=$filename"); //Header("Content-Length: ".strlen($output)); //Header("Connection: close"); //Header("Content-Type: text/x-vCard; name=$filename"); echo $output;
$text = "BEGIN:VCARD\r\n"; $text .= "VERSION:2.1\r\n"; foreach ($this->properties as $key => $value) { $text .= "{$key}:{$value}\r\n"; } $text .= "REV:" . date("Y-m-d") . "T" . date("H:i:s") . "Z\r\n"; $text .= "END:VCARD\r\n"; return $text; } function getFileName() { return $this->filename; } } return; // USAGE EXAMPLE $v = new vCard(); $v->setPhoneNumber("+49 23 456789", "PREF;HOME;VOICE"); $v->setName("Mustermann", "Thomas", "", "Herr"); $v->setBirthday("1960-07-31"); $v->setAddress("", "", "Musterstrasse 20", "Musterstadt", "", "98765", "Deutschland"); $v->setEmail("*****@*****.**"); $v->setNote("You can take some notes here.\r\nMultiple lines are supported via \\r\\n."); $v->setURL("http://www.thomas-mustermann.de", "WORK"); $output = $v->getVCard(); $filename = $v->getFileName(); Header("Content-Disposition: attachment; filename={$filename}"); Header("Content-Length: " . strlen($output)); Header("Connection: close"); Header("Content-Type: text/x-vCard; name={$filename}"); echo $output;