/**
  * export the member informations as a vcard (*.vcf)
  *
  * @param integer $id
  * @return void
  */
 function _exportVCard($id)
 {
     global $objDatabase;
     //error_reporting(E_ALL);ini_set('display_errors',1);
     $query = "  SELECT `pic1`, `pic2`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`\n                    FROM `" . DBPREFIX . "module_memberdir_values`\n                    WHERE `id` = " . $id;
     if (($objRS = $objDatabase->SelectLimit($query, 1)) !== false) {
         \Env::get('ClassLoader')->loadFile(ASCMS_LIBRARY_PATH . '/PEAR/Contact_Vcard_Build.php');
         $vcard = new \Contact_Vcard_Build();
         $lastname = $objRS->fields['1'];
         $firstname = $objRS->fields['2'];
         $company = $objRS->fields['3'];
         $phone = $objRS->fields['4'];
         $mobile = $objRS->fields['5'];
         $address = $objRS->fields['6'];
         $zip = $objRS->fields['7'];
         $city = $objRS->fields['8'];
         $email = $objRS->fields['9'];
         $fax = $objRS->fields['10'];
         $homepage = $objRS->fields['11'];
         $birthday = $objRS->fields['12'];
         $special1 = $objRS->fields['13'];
         $special2 = $objRS->fields['14'];
         $special3 = $objRS->fields['15'];
         $special4 = $objRS->fields['16'];
         $special5 = $objRS->fields['17'];
         $special6 = $objRS->fields['18'];
         $vcard->setFormattedName("{$lastname} {$firstname}");
         $vcard->setName($lastname, $firstname, '', '', '');
         $vcard->addEmail($email);
         $vcard->addParam('TYPE', 'HOME');
         $vcard->addAddress($address, '', '', '', '', '', '');
         $vcard->addOrganization($company);
         $vcard->addTelephone($phone);
         $vcard->addParam('TYPE', 'HOME');
         $vcard->addTelephone($mobile);
         $vcard->addParam('TYPE', 'CELL');
         $vcard->setURL($homepage);
         $vcard->setBirthday($birthday);
         header('Content-Disposition: attachment; filename="' . $lastname . '_' . $firstname . '.vcf"');
         header('Content-Type: text/x-vcard');
         echo $vcard->fetch();
         die;
     } else {
         die('DB Error: ' . $objDatabase->ErrorMsg());
     }
 }
 public static function vcard($mailvars)
 {
     if (!is_array($mailvars)) {
         return false;
     }
     $default = array('firstname' => '', 'middlename' => '', 'lastname' => '', 'nickname' => '', 'title' => '', 'work_title' => '', 'email' => '', 'pobox' => '', 'extendedaddress' => '', 'street' => '', 'zipcode' => '', 'city' => '', 'state' => '', 'country' => '', 'work_pobox' => '', 'work_office' => '', 'work_street' => '', 'work_zipcode' => '', 'work_city' => '', 'work_state' => '', 'work_country' => '', 'birthday' => '', 'work_email' => '', 'work_telephone' => '', 'website' => '', 'telephone' => '', 'work_role' => '', 'note' => '', 'work_organization' => '');
     $vars = array_merge($default, $mailvars);
     $vcard = new Contact_Vcard_Build();
     // General informations
     $vcard->setFormattedName($vars['nom'] . ' ' . $vars['lastname']);
     $vcard->setName($vars['lastname'], $vars['firstname'], $vars['middlename'], $vars['title'], '');
     $vcard->setBirthday($vars['birthday']);
     $vcard->addNickname($vars['nickname']);
     $vcard->setNote($vars['note']);
     // Home informations
     $vcard->addEmail($vars['email']);
     $vcard->addParam('TYPE', 'HOME');
     $vcard->addTelephone($vars['telephone']);
     $vcard->addParam('TYPE', 'HOME');
     $vcard->addAddress($vars['pobox'], $vars['street'], $vars['extendedaddress'], $vars['city'], $vars['state'], $vars['zipcode'], $vars['country']);
     $vcard->addParam('TYPE', 'HOME');
     $vcard->setURL($vars['website']);
     $vcard->addParam('TYPE', 'HOME');
     // Business informations
     $vcard->addEmail($vars['work_email']);
     $vcard->addParam('TYPE', 'WORK');
     $vcard->addTelephone($vars['work_telephone']);
     $vcard->addParam('TYPE', 'WORK');
     $vcard->addAddress($vars['work_pobox'], $vars['work_office'], $vars['work_street'], $vars['work_city'], $vars['work_state'], $vars['work_zipcode'], $vars['work_country']);
     $vcard->addParam('TYPE', 'WORK');
     $vcard->addOrganization($vars['work_organization']);
     $vcard->setRole($vars['work_role']);
     $vcard->setTitle($vars['work_title']);
     return $vcard->fetch();
 }
Exemple #3
0
 $vcard->addParam('TYPE', 'car');
 // add a work email.  note that we add the value
 // first and the param after -- Contact_Vcard_Build
 // is smart enough to add the param in the correct
 // place.
 $vcard->addEmail($contact->contact_email);
 //$vcard->addParam('TYPE', 'WORK');
 $vcard->addParam('TYPE', 'PF');
 // add a home/preferred email
 $vcard->addEmail($contact->contact_email2);
 //$vcard->addParam('TYPE', 'HOME');
 // add an address
 $vcard->addAddress('', $contact->contact_address2, $contact->contact_address1, $contact->contact_city, $contact->contact_state, $contact->contact_zip, $contact->contact_country);
 //$vcard->addParam('TYPE', 'WORK');
 // get back the vCard
 $text = $vcard->fetch();
 //send http-output with this vCard
 // BEGIN extra headers to resolve IE caching bug (JRP 9 Feb 2003)
 // [http://bugs.php.net/bug.php?id=16173]
 header('Pragma: ');
 header('Cache-Control: ');
 header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
 header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
 header('Cache-Control: no-store, no-cache, must-revalidate');
 //HTTP/1.1
 header('Cache-Control: post-check=0, pre-check=0', false);
 // END extra headers to resolve IE caching bug
 header('MIME-Version: 1.0');
 header('Content-Type: text/x-vcard');
 header('Content-Disposition: attachment; filename=' . $contact->contact_first_name . $contact->contact_last_name . '.vcf');
 print_r($text);
 /**
  * Gibt vCard Daten zurück. Statisch weil es auch von der Trl_Component
  * aufgerufen wird.
  */
 protected function _getVcardContent($dataRow, $imageData)
 {
     $defaults = $this->_getDefaultValues();
     require_once Kwf_Config::getValue('externLibraryPath.pearContactVcardBuild') . '/Contact/Vcard/Build.php';
     $vcard = new Contact_Vcard_Build('2.1');
     $vcard->setName(utf8_decode($dataRow->lastname), utf8_decode($dataRow->firstname), '', utf8_decode($dataRow->title), '');
     $vcard->addParam('CHARSET', 'ISO-8859-1');
     $vcard->setFormattedName(utf8_decode($dataRow->firstname) . ' ' . utf8_decode($dataRow->lastname));
     $vcard->addParam('CHARSET', 'ISO-8859-1');
     if (isset($defaults['ORG'])) {
         $vcard->addOrganization(utf8_decode($defaults['ORG']));
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     if (!empty($dataRow->working_position)) {
         $vcard->setRole(utf8_decode($dataRow->working_position));
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     if (!empty($dataRow->phone)) {
         $vcard->addTelephone(utf8_decode($dataRow->phone));
         $vcard->addParam('TYPE', 'WORK');
         $vcard->addParam('TYPE', 'PREF');
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     if (!empty($dataRow->mobile)) {
         $vcard->addTelephone(utf8_decode($dataRow->mobile), 'mobile');
         $vcard->addParam('TYPE', 'WORK');
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     $fax = null;
     if (!empty($dataRow->fax)) {
         $fax = $dataRow->fax;
     } else {
         if (isset($defaults['TEL;WORK;FAX'])) {
             $fax = $defaults['TEL;WORK;FAX'];
         }
     }
     if ($fax) {
         $vcard->addTelephone(utf8_decode($fax), 'fax');
         $vcard->addParam('TYPE', 'WORK');
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     if (!empty($dataRow->email)) {
         $vcard->addEmail(utf8_decode($dataRow->email));
         $vcard->addParam('TYPE', 'WORK');
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     if (isset($defaults['URL;WORK'])) {
         $vcard->setURL(utf8_decode($defaults['URL;WORK']));
         $vcard->addParam('TYPE', 'WORK');
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     if (isset($defaults['NOTE'])) {
         $vcard->setNote(utf8_decode($defaults['NOTE']));
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     if (isset($defaults['ADR;WORK']) || !empty($dataRow->street) || !empty($dataRow->city) || !empty($dataRow->zip) || !empty($dataRow->country)) {
         /**
          * muss ein array mit folgenden werten liefern:
          * 0 => ''
          * 1 => ''
          * 2 => street
          * 3 => city
          * 4 => province
          * 5 => zip
          * 6 => country
          */
         $values = array();
         if (!empty($defaults['ADR;WORK'])) {
             $values = explode(';', utf8_decode($defaults['ADR;WORK']));
         }
         for ($i = 0; $i <= 6; $i++) {
             if (!isset($values[$i])) {
                 $values[$i] = '';
             }
         }
         if (!empty($dataRow->street)) {
             $values[2] = utf8_decode($dataRow->street);
         }
         if (!empty($dataRow->city)) {
             $values[3] = utf8_decode($dataRow->city);
         }
         if (!empty($dataRow->country)) {
             $values[4] = utf8_decode($dataRow->country);
         }
         if (!empty($dataRow->zip)) {
             $values[5] = utf8_decode($dataRow->zip);
         }
         if (!empty($dataRow->country)) {
             $values[6] = utf8_decode($dataRow->country);
         }
         $vcard->addAddress($values[0], $values[1], $values[2], $values[3], $values[4], $values[5], $values[6]);
         $vcard->addParam('TYPE', 'WORK');
         $vcard->addParam('CHARSET', 'ISO-8859-1');
     }
     if ($imageData && $imageData->hasContent()) {
         $data = call_user_func_array(array($imageData->componentClass, 'getMediaOutput'), array($imageData->componentId, 'default', $imageData->componentClass));
         $type = explode('/', $data['mimeType']);
         $type[1] = strtoupper($type[1]);
         if ($type[1] == 'PJPEG') {
             $type[1] = 'JPEG';
         }
         if ($type[1] == 'JPEG') {
             $vcard->setPhoto(base64_encode($data['contents']));
             $vcard->addParam('TYPE', $type[1]);
             $vcard->addParam('ENCODING', 'BASE64');
         }
     }
     $vcard->setRevision(date('Y-m-d') . 'T' . date('H:i:s') . 'Z');
     return $vcard->fetch();
 }
Exemple #5
0
 function vcard($data)
 {
     $vcard = new Contact_Vcard_Build();
     $vcard->setFormattedName($data["first_name"] . " " . $data["last_name"]);
     $vcard->setName($data["last_name"], $data["first_name"], NULL, NULL, NULL);
     if ($data["email"]) {
         $vcard->addEmail($data['email']);
     }
     $address = explode("\n", $data["address"]);
     $cityregionpost = explode(",", $address[1]);
     $regionpost = explode(" ", $cityregionpost[1]);
     $vcard->addAddress(NULL, NULL, $address[0], $cityregionpost[0], $regionpost[0], $regionpost[1], NULL);
     $vcard->addParam("TYPE", "HOME");
     if ($data["work_phone"]) {
         $vcard->addTelephone($data["work_phone"]);
         $vcard->addParam("TYPE", "WORK");
     }
     if ($data["home_phone"]) {
         $vcard->addTelephone($data["home_phone"]);
         $vcard->addParam("TYPE", "HOME");
     }
     $vcard->setURL($this->config["base_uri"] . "actors/" . $data["mbrid"]);
     $vcard->setUniqueID($data["barcode_nmbr"]);
     return $vcard->fetch();
 }
Exemple #6
0
function doVcards($single, $extension, $targetcode, $zip)
{
    $sql = "select * from tempcsvdata where uid = '" . $_SESSION["loginCRM"] . "' order by id";
    $csvdata = $_SESSION['db']->getAll($sql);
    if ($csvdata) {
        $pfad = $_SESSION["login"] . "/vcard";
        chkdir($pfad, '.');
        $pfad = "../dokumente/" . $_SESSION["dbname"] . "/" . $pfad . "/";
        $felder = explode(":", $csvdata[0]["csvdaten"]);
        $personen = False;
        if (in_array("TITEL", $felder)) {
            $personen = True;
        }
        $i = 0;
        foreach ($felder as $feld) {
            $felder[$feld] = $i++;
        }
        array_shift($csvdata);
        if ($single) {
            if ($personen) {
                $filename = "Pvcard." . $extension;
            } else {
                $filename = "Fvcard." . $extension;
            }
            $f = fopen($pfad . $filename, "w");
        }
        $srvcode = strtoupper($_SESSION["charset"]);
        $cnt = 0;
        foreach ($csvdata as $row) {
            $vcard = new Contact_Vcard_Build();
            if ($targetcode != $srvcode) {
                $row["csvdaten"] = iconv($srvcode, $targetcode, $row["csvdaten"]);
            }
            $data = explode(":", $row["csvdaten"]);
            $vcard->setFormattedName($data[$felder["NAME1"]]);
            if ($data[$felder["NAME2"]]) {
                if ($personen) {
                    $vcard->setName($data[$felder["NAME2"]], $data[$felder["NAME1"]], "", $data[$felder["ANREDE"]], $data[$felder["TITEL"]]);
                } else {
                    $vcard->setName($data[$felder["NAME1"]], $data[$felder["NAME2"]], "", "", "");
                }
            } else {
                if ($personen) {
                    $vcard->setName($data[$felder["NAME1"]], "", "", $data[$felder["ANREDE"]], $data[$felder["TITEL"]]);
                } else {
                    $vcard->setName($data[$felder["NAME1"]], "", "", "", "");
                }
            }
            $vcard->addAddress('', '', $data[$felder["STRASSE"]], $data[$felder["ORT"]], '', $data[$felder["PLZ"]], $data[$felder["LAND"]]);
            $vcard->addParam('TYPE', 'WORK');
            if ($personen) {
                $vcard->addOrganization($data[$felder["FIRMA"]]);
            } else {
                $vcard->addOrganization($data[$felder["NAME1"]]);
                $vcard->addOrganization($data[$felder["NAME2"]]);
            }
            if ($data["email"]) {
                $vcard->addEmail($data[$felder["EMAIL"]]);
                $vcard->addParam('TYPE', 'WORK');
            }
            if ($data["phone"]) {
                $vcard->addTelephone($data[$felder["TEL"]]);
                $vcard->addParam('TYPE', 'WORK');
            }
            if ($data["fax"]) {
                $vcard->addTelephone($data[$felder["FAX"]]);
                $vcard->addParam('TYPE', 'FAX');
            }
            // get back the vCard and print it
            $text = $vcard->fetch();
            if (!$single) {
                if ($personen) {
                    $f = fopen($pfad . "/" . $data[$felder["ID"]] . $data[$felder["NAME1"]] . "_vcard." . $extension, "w");
                } else {
                    $f = fopen($pfad . "/" . $data[$felder["KDNR"]] . "_vcard." . $extension, "w");
                }
                fputs($f, $text);
                fclose($f);
            } else {
                fputs($f, $text);
            }
            unset($vcard);
            unset($text);
            $cnt++;
        }
        if ($single) {
            fclose($f);
        }
        if ($zip) {
            require 'pclzip.lib.php';
            require 'zip.lib.php';
            if (!$single) {
                $oldpath = getCWD();
                chdir($pfad);
                $archiveFiles = glob("*_vcard." . $extension);
                chdir($oldpath);
            } else {
                //$archiveFiles[] = "vcard.".$_POST["extension"];
                $archiveFiles[] = $filename;
            }
            $filename = "vcard." . $extension . ".zip";
            $archive = new PclZip($pfad . $filename);
            $v_list = $archive->create($pfad . $_SESSION["login"], '', $pfad . $_SESSION["login"], '', "vcardPreAdd");
            $zip = new zipfile();
            for ($i = 0; $i < count($archiveFiles); $i++) {
                $file = $archiveFiles[$i];
                // zip.lib dirty hack
                $fp = fopen($pfad . $file, "r");
                $content = @fread($fp, filesize($pfad . $file));
                fclose($fp);
                $zip->addFile($content, $file);
                unlink($pfad . $file);
            }
            $fp = fopen($pfad . $filename, "w+");
            fputs($fp, $zip->file());
            fclose($fp);
        }
        if ($single || $zip) {
            echo "[<a href='" . $pfad . $filename . "'>download</a>]<br />";
        } else {
        }
    }
    echo "{$cnt} Adressen bearbeitet.";
}
Exemple #7
0
    $vcard = new Contact_Vcard_Build(2.1);
} else {
    $vcard = new Contact_Vcard_Build();
}
// set a formatted name
$vcard->setFormattedName(iconv("UTF-8", "ISO-8859-1", FormatFullName($per_Title, $per_FirstName, $per_MiddleName, $per_LastName, $per_Suffix, 0)));
// set the structured name parts
$vcard->setName(iconv("UTF-8", "ISO-8859-1", $per_LastName), iconv("UTF-8", "ISO-8859-1", $per_FirstName), iconv("UTF-8", "ISO-8859-1", $per_MiddleName), iconv("UTF-8", "ISO-8859-1", $per_Title), iconv("UTF-8", "ISO-8859-1", $per_Suffix));
$vcard->addEmail(iconv("UTF-8", "ISO-8859-1", $sEmail));
$vcard->addParam('TYPE', 'HOME');
$vcard->addParam('TYPE', 'PREF');
$vcard->addEmail(iconv("UTF-8", "ISO-8859-1", $per_WorkEmail));
$vcard->addParam('TYPE', 'WORK');
if ($bPalmVCard) {
    $vcard->addAddress(';', iconv("UTF-8", "ISO-8859-1", $sAddress1), iconv("UTF-8", "ISO-8859-1", $sAddress2), iconv("UTF-8", "ISO-8859-1", $sCity), iconv("UTF-8", "ISO-8859-1", $sState), iconv("UTF-8", "ISO-8859-1", $sZip), iconv("UTF-8", "ISO-8859-1", $sCountry));
} else {
    $vcard->addAddress('', iconv("UTF-8", "ISO-8859-1", $sAddress1), iconv("UTF-8", "ISO-8859-1", $sAddress2), iconv("UTF-8", "ISO-8859-1", $sCity), iconv("UTF-8", "ISO-8859-1", $sState), iconv("UTF-8", "ISO-8859-1", $sZip), iconv("UTF-8", "ISO-8859-1", $sCountry));
}
$vcard->addParam('TYPE', 'HOME');
$vcard->addParam('TYPE', 'PREF');
$vcard->addTelephone(iconv("UTF-8", "ISO-8859-1", $sHomePhone));
$vcard->addParam('TYPE', 'HOME');
$vcard->addTelephone(iconv("UTF-8", "ISO-8859-1", $sWorkPhone));
$vcard->addParam('TYPE', 'WORK');
$vcard->addTelephone(iconv("UTF-8", "ISO-8859-1", $sCellPhone));
$vcard->addParam('TYPE', 'CELL');
$vcard->setBirthDay(iconv("UTF-8", "ISO-8859-1", $sBirthDate));
$sVCard = $vcard->fetch();
header("Content-type: text/x-vcard");
header("Content-Disposition: attachment; filename=" . iconv("UTF-8", "ISO-8859-1", $per_FirstName) . "_" . iconv("UTF-8", "ISO-8859-1", $per_LastName) . ".vcf");
echo $sVCard;
 /**
  *
  * Create a vcard from user
  *
  * @access private
  *
  * @param int $authorid  The UserID to build the vcard
  *
  * @return bool
  *
  */
 function createVCard($authorid)
 {
     global $serendipity;
     include 'Contact_Vcard_Build.php';
     if (!class_exists('Contact_Vcard_Build')) {
         return false;
     }
     $authorres = $this->getConfigVars($authorid);
     $name = explode(" ", $serendipity['POST']['profilerealname']);
     $city = explode(" ", $serendipity['POST']['profilecity']);
     $vcard = new Contact_Vcard_Build();
     $vcard->setFormattedName($serendipity['POST']['profilerealname']);
     $vcard->setName($name[1], $name[0], "", "", "");
     $vcard->addEmail($serendipity['POST']['profileemail']);
     $vcard->addParam('TYPE', 'WORK');
     $vcard->addParam('TYPE', 'PREF');
     $vcard->addAddress("", "", $serendipity['POST']['profilestreet'], $city[1], "", $city[0], $serendipity['POST']['profilecountry']);
     $vcard->addParam('TYPE', 'WORK');
     $vcard->setURL($serendipity['POST']['profileurl']);
     $card = $serendipity['serendipityPath'] . $serendipity['uploadPath'] . serendipity_makeFilename($serendipity['POST']['profilerealname']) . ".vcf";
     if (!($fp = @fopen($card, "w"))) {
         return false;
     }
     fwrite($fp, $vcard->fetch());
     fclose($fp);
     $q = 'SELECT id
             FROM ' . $serendipity['dbPrefix'] . 'images
            WHERE name = \'' . serendipity_makeFilename($serendipity['POST']['profilerealname']) . '\'
              AND extension = \'vcf\'';
     $res = serendipity_db_query($q, true, 'assoc');
     if (!is_array($res)) {
         serendipity_insertImageInDatabase(basename($card), '');
     }
     return true;
 }