示例#1
0
    }
    $result = mysql_query($sql);
    while ($address = mysql_fetch_array($result)) {
        $vcfname = $address['firstname'] . (isset($address['middlename']) ? "_" . $address['middlename'] : "") . "_" . $address['lastname'] . "-" . $address['id'] . ".vcf";
        $vcfname = str_replace(" ", "_", $vcfname);
        // middlename may contain spaces, for example "van der" in Dutch
        setlocale(LC_ALL, 'en_US.UTF8');
        $vcfname = str_replace("?", "", iconv('UTF-8', 'ASCII//TRANSLIT', $vcfname));
        $zip->addFromString($vcfname, address2vcard($address));
    }
    $zip->close();
    readfile($filename);
    unlink($filename);
} elseif (isset($_REQUEST['type']) && $_REQUEST['type'] == "vCard-one") {
    Header("Content-Type: text/x-vCard");
    $filename = utf8_to_latin1("All_Contacts_of_domin-" . $domain_id . "-" . date("Y_m_d-Hi"));
    Header('Content-Disposition: attachment; filename="' . $filename . '.vcf"');
    require "include/export.vcard.php";
    $sql = "SELECT * FROM {$month_from_where}";
    $result = mysql_query($sql);
    while ($links = mysql_fetch_array($result)) {
        echo address2vcard($links);
    }
} elseif (isset($_REQUEST['type']) && $_REQUEST['type'] == "xls-Nokia") {
    require "include/export.xls-nokia.php";
} else {
    include "include/format.inc.php";
    ?>
<title><?php 
    echo ucfmsg("ADDRESS_BOOK") . ($group_name != "" ? " ({$group_name})" : "");
    ?>
示例#2
0
function address2vcard($links)
{
    $firstname = utf8_to_latin1($links["firstname"]);
    $middlename = utf8_to_latin1($links["middlename"]);
    $lastname = utf8_to_latin1($links["lastname"]);
    $title = utf8_to_latin1($links["title"]);
    $company = utf8_to_latin1($links["company"]);
    $address = utf8_to_latin1($links["address"]);
    $home = utf8_to_latin1($links["home"]);
    $mobile = utf8_to_latin1($links["mobile"]);
    $work = utf8_to_latin1($links["work"]);
    $fax = utf8_to_latin1($links["fax"]);
    $email = utf8_to_latin1($links["email"]);
    $email2 = utf8_to_latin1($links["email2"]);
    $email3 = utf8_to_latin1($links["email3"]);
    $homepage = utf8_to_latin1($links["homepage"]);
    $bday = utf8_to_latin1($links["bday"]);
    $bmonth_num = utf8_to_latin1($links["bmonth_num"]);
    $byear = utf8_to_latin1($links["byear"]);
    $aday = utf8_to_latin1($links["aday"]);
    $amonth_num = utf8_to_latin1($links["amonth_num"]);
    $ayear = utf8_to_latin1($links["ayear"]);
    $phone2 = utf8_to_latin1($links["phone2"]);
    $address2 = utf8_to_latin1($links["address2"]);
    $result = "BEGIN:VCARD\n";
    $result .= "VERSION:2.1\n";
    $result .= "N:" . (!empty($middlename) ? "{$middlename} " : "") . "{$lastname};{$firstname};;;;\n";
    $result .= "FN:{$firstname}" . (!empty($middlename) ? " {$middlename}" : "") . " {$lastname}\n";
    $result .= "ORG:{$company}\n";
    $result .= "TITLE:{$title}\n";
    $adr = label2adr($address);
    $result .= "ADR;home:" . $adr['pbox'] . ";" . $adr['exta'] . ";" . $adr['addr'] . ";" . $adr['city'] . ";" . $adr['region'] . ";" . $adr['zip'] . ";" . $adr['country'] . "\n";
    $adr = label2adr($address2);
    $result .= "ADR;work:" . $adr['pbox'] . ";" . $adr['exta'] . ";" . $adr['addr'] . ";" . $adr['city'] . ";" . $adr['region'] . ";" . $adr['zip'] . ";" . $adr['country'] . "\n";
    $result .= "TEL;HOME;VOICE:{$home}\n";
    $result .= "TEL;cell;VOICE:{$mobile}\n";
    $result .= "TEL;work;VOICE:{$work}\n";
    $result .= "TEL;fax:{$fax}\n";
    $result .= "TEL;voice:{$phone2}\n";
    $result .= "EMAIL;PREF;INTERNET:{$email}\n";
    $result .= "EMAIL;INTERNET:{$email2}\n";
    $result .= "EMAIL;INTERNET:{$email3}\n";
    $result .= "URL;WORK:{$homepage}\n";
    $result .= "BDAY:" . "{$byear}-" . (strlen($bmonth_num) == 1 ? "0" : "") . "{$bmonth_num}-" . (strlen($bday) == 1 ? "0" : "") . "{$bday}\n";
    $result .= "X-ANNIVERSARY:" . "{$ayear}-" . (strlen($amonth_num) == 1 ? "0" : "") . "{$amonth_num}-" . (strlen($aday) == 1 ? "0" : "") . "{$aday}\n";
    $result .= "END:VCARD\n";
    return $result;
}