addPhoto() public méthode

Add Photo
public addPhoto ( string $url, boolean $include = true )
$url string image url or filename
$include boolean Include the image in our vcard?
 /**
  * Returns a vcard for a profile
  * @param $profile
  * @param $includePhoto
  * @return VCard
  */
 public function getVCard($profile, $includePhoto)
 {
     $vcard = new VCard();
     $vcard->addName($profile['lastName'], $profile['firstName'])->addCompany($profile['company'])->addAddress('', '', $profile['address']['street'], $profile['address']['city'], $profile['address']['region'], $profile['address']['zip'], $profile['address']['country'])->addEmail($profile['email'])->addURL($profile['url'])->addPhoneNumber($profile['phone']['work'], 'WORK')->addPhoneNumber($profile['phone']['mobile'], 'CELL')->addJobtitle($profile['jobTitle']);
     // Add photo
     if ($profile['photo'] != null) {
         $photoUri = null;
         if ($includePhoto) {
             // Generate filesystem URI
             $webDir = $this->kernelRootDir . '/../web/';
             $photoUri = $webDir . $profile['photo'];
         } else {
             // Generate absolute public URI
             $photoUri = $this->request->getUriForPath('/' . $profile['photo']);
         }
         $vcard->addPhoto($photoUri, $includePhoto);
     }
     return $vcard;
 }
Exemple #2
0
// define vcard
$vcard = new VCard();
// define variables
$firstname = 'Jeroen';
$lastname = 'Desloovere';
$additional = '';
$prefix = '';
$suffix = '';
// add personal data
$vcard->addName($lastname, $firstname, $additional, $prefix, $suffix);
// add work data
$vcard->addCompany('Siesqo');
$vcard->addJobtitle('Web Developer');
$vcard->addEmail('*****@*****.**');
$vcard->addPhoneNumber(1234121212, 'PREF;WORK');
$vcard->addPhoneNumber(123456789, 'WORK');
$vcard->addAddress(null, null, 'street', 'worktown', null, 'workpostcode', 'Belgium');
$vcard->addURL('http://www.jeroendesloovere.be');
$vcard->addPhoto(__DIR__ . '/assets/landscape.jpeg');
//$vcard->addPhoto('https://raw.githubusercontent.com/jeroendesloovere/vcard/master/tests/image.jpg');
// return vcard as a string
//return $vcard->getOutput();
// return vcard as a download
return $vcard->download();
// echo message
echo 'A personal vCard is saved in this folder: ' . __DIR__;
// or
// save the card in file in the current folder
// return $vcard->save();
// echo message
// echo 'A personal vCard is saved in this folder: ' . __DIR__;
 private function _createVcardData(VCardModel $vcardModel)
 {
     $vcard = new VCard();
     $vcard->addName($vcardModel->lastName, $vcardModel->firstName, $vcardModel->additional, $vcardModel->prefix, $vcardModel->suffix);
     if ($vcardModel->company) {
         $vcard->addCompany($vcardModel->company);
     }
     if ($vcardModel->jobTitle) {
         $vcard->addJobtitle($vcardModel->jobTitle);
     }
     if ($vcardModel->url and is_array($vcardModel->url)) {
         foreach ($vcardModel->url as $url) {
             if ($url instanceof VCard_UrlModel) {
                 if ($url->validate()) {
                     $vcard->addUrl($url->address, $url->type);
                 }
             }
         }
     }
     if ($vcardModel->address and is_array($vcardModel->address)) {
         foreach ($vcardModel->address as $address) {
             if ($address instanceof VCard_AddressModel) {
                 if ($address->validate()) {
                     $vcard->addAddress($address->name, $address->extended, $address->street, $address->city, $address->region, $address->zip, $address->country, $address->type);
                 }
             }
         }
     }
     if ($vcardModel->phoneNumber and is_array($vcardModel->phoneNumber)) {
         foreach ($vcardModel->phoneNumber as $phoneNumber) {
             if ($phoneNumber instanceof VCard_PhoneNumberModel) {
                 if ($phoneNumber->validate()) {
                     $vcard->addPhoneNumber($phoneNumber->number, $phoneNumber->type);
                 }
             }
         }
     }
     if ($vcardModel->email and is_array($vcardModel->email)) {
         foreach ($vcardModel->email as $email) {
             if ($email instanceof VCard_EmailModel) {
                 if ($email->validate()) {
                     $vcard->addEmail($email->address, $email->type);
                 }
             }
         }
     }
     if ($vcardModel->photo) {
         $vcard->addPhoto($vcardModel->photo);
     }
     if ($vcardModel->note) {
         $vcard->addNote($vcardModel->note);
     }
     return $vcard;
 }
Exemple #4
0
 /**
  * Test adding photo with no photo
  *
  * @expectedException JeroenDesloovere\VCard\VCardMediaException
  * @expectedExceptionMessage Returned data aren't an image.
  */
 public function testAddPhotoWithNoPhoto()
 {
     $this->vcard->addPhoto(__DIR__ . '/wrongfile', true);
 }
 public function testPhoto()
 {
     $image = __DIR__ . '/image.jpg';
     $imageUrl = 'https://raw.githubusercontent.com/jeroendesloovere/vcard/master/tests/image.jpg';
     $vcard = new VCard();
     $vcard->addPhoto($image, true);
     $parser = new VCardParser($vcard->buildVCard());
     $this->assertEquals($parser->getCardAtIndex(0)->rawPhoto, file_get_contents($image));
     $vcard = new VCard();
     $vcard->addPhoto($image, false);
     $parser = new VCardParser($vcard->buildVCard());
     $this->assertEquals($parser->getCardAtIndex(0)->photo, __DIR__ . '/image.jpg');
     $vcard = new VCard();
     $vcard->addPhoto($imageUrl, false);
     $parser = new VCardParser($vcard->buildVCard());
     $this->assertEquals($parser->getCardAtIndex(0)->photo, $imageUrl);
 }