All Projects → jeroendesloovere → Vcard

jeroendesloovere / Vcard

Licence: mit
This vCard PHP library can easily parse or generate/export vCards as .vcf

Labels

Projects that are alternatives of or similar to Vcard

spark-vcf
Spark VCF data source implementation for Dataframes
Stars: ✭ 15 (-95.5%)
Mutual labels:  vcf
cutevariant
A standalone and free application to explore genetics variations from VCF file
Stars: ✭ 61 (-81.68%)
Mutual labels:  vcf
telegram-json-to-vcf
Convert Telegram Contacts JSON File to VCF File
Stars: ✭ 34 (-89.79%)
Mutual labels:  vcf
snps
tools for reading, writing, merging, and remapping SNPs
Stars: ✭ 57 (-82.88%)
Mutual labels:  vcf
fuc
Frequently used commands in bioinformatics
Stars: ✭ 23 (-93.09%)
Mutual labels:  vcf
SVCollector
Method to optimally select samples for validation and resequencing
Stars: ✭ 20 (-93.99%)
Mutual labels:  vcf
2vcf
convert 23andme or Ancestry.com raw genotype calls into VCF format, with dbSNP annotations
Stars: ✭ 42 (-87.39%)
Mutual labels:  vcf
Vcfanno
annotate a VCF with other VCFs/BEDs/tabixed files
Stars: ✭ 259 (-22.22%)
Mutual labels:  vcf
vcf2tsv
Genomic VCF to tab-separated values
Stars: ✭ 27 (-91.89%)
Mutual labels:  vcf
Ontologies
Home of the Genomic Feature and Variation Ontology (GFVO)
Stars: ✭ 16 (-95.2%)
Mutual labels:  vcf
indelope
find large indels (in the blind spot between GATK/freebayes and SV callers)
Stars: ✭ 38 (-88.59%)
Mutual labels:  vcf
ilus
A handy variant calling pipeline generator for whole genome re-sequencing (WGS) and whole exom sequencing data (WES) analysis. 一个简易且全面的 WGS/WES 分析流程生成器.
Stars: ✭ 64 (-80.78%)
Mutual labels:  vcf
vcf2gwas
Python API for comprehensive GWAS analysis using GEMMA
Stars: ✭ 27 (-91.89%)
Mutual labels:  vcf
vcfstats
Powerful statistics for VCF files
Stars: ✭ 32 (-90.39%)
Mutual labels:  vcf
23andme2vcf
convert your 23andme raw file to VCF | DEPRECATED, please see https://github.com/plantimals/2vcf
Stars: ✭ 91 (-72.67%)
Mutual labels:  vcf
SNPGenie
Program for estimating πN/πS, dN/dS, and other diversity measures from next-generation sequencing data
Stars: ✭ 81 (-75.68%)
Mutual labels:  vcf
jannovar
Annotation of VCF variants with functional impact and from databases (executable+library)
Stars: ✭ 42 (-87.39%)
Mutual labels:  vcf
Pygeno
Personalized Genomics and Proteomics. Main diet: Ensembl, side dishes: SNPs
Stars: ✭ 261 (-21.62%)
Mutual labels:  vcf
VCF-kit
VCF-kit: Assorted utilities for the variant call format
Stars: ✭ 94 (-71.77%)
Mutual labels:  vcf
TypeTE
Genotyping of segregating mobile elements insertions
Stars: ✭ 15 (-95.5%)
Mutual labels:  vcf

VCard PHP library

Latest Stable Version License Build Status Scrutinizer Code Quality

This VCard PHP library can generate a vCard with some data. When using an iOS device < iOS 8 it will export as a .ics file because iOS devices don't support the default .vcf files.

NOTE: We are working on a complete new version to work with vCard version 4.0, with extreme good code quality. Check out the new version

Usage

Installation

composer require jeroendesloovere/vcard

This will install the latest version of vcard with Composer

Example

use JeroenDesloovere\VCard\VCard;

// define vcard
$vcard = new VCard();

// define variables
$lastname = 'Desloovere';
$firstname = 'Jeroen';
$additional = '';
$prefix = '';
$suffix = '';

// add personal data
$vcard->addName($lastname, $firstname, $additional, $prefix, $suffix);

// add work data
$vcard->addCompany('Siesqo');
$vcard->addJobtitle('Web Developer');
$vcard->addRole('Data Protection Officer');
$vcard->addEmail('[email protected]');
$vcard->addPhoneNumber(1234121212, 'PREF;WORK');
$vcard->addPhoneNumber(123456789, 'WORK');
$vcard->addAddress(null, null, 'street', 'worktown', null, 'workpostcode', 'Belgium');
$vcard->addLabel('street, worktown, workpostcode Belgium');
$vcard->addURL('http://www.jeroendesloovere.be');

$vcard->addPhoto(__DIR__ . '/landscape.jpeg');

// return vcard as a string
//return $vcard->getOutput();

// return vcard as a download
return $vcard->download();

// save vcard on disk
//$vcard->setSavePath('/path/to/directory');
//$vcard->save();

View all examples or check the VCard class.

Parsing examples

The parser can either get passed a VCard string, like so:

// load VCardParser classes
use JeroenDesloovere\VCard\VCardParser;

$parser = new VCardParser($vcardString);
echo $parser->getCardAtIndex(0)->fullname; // Prints the full name.

Or by using a factory method with a file name:

$parser = VCardParser::parseFromFile('path/to/file.vcf');
echo $parser->getCardAtIndex(0)->fullname; // Prints the full name.

View the parsing example or check the the VCardParser class class.

Support for frameworks

I've created a Symfony Bundle: VCard Bundle

Usage in for example: Laravel

return Response::make(
    $this->vcard->getOutput(),
    200,
    $this->vcard->getHeaders(true)
);

Documentation

The class is well documented inline. If you use a decent IDE you'll see that each method is documented with PHPDoc.

Contributing

Contributions are welcome and will be fully credited.

Pull Requests

To add or update code

  • Coding Syntax - Please keep the code syntax consistent with the rest of the package.
  • Add unit tests! - Your patch won't be accepted if it doesn't have tests.
  • Document any change in behavior - Make sure the README and any other relevant documentation are kept up-to-date.
  • Consider our release cycle - We try to follow semver. Randomly breaking public APIs is not an option.
  • Create topic branches - Don't ask us to pull from your master branch.
  • One pull request per feature - If you want to do more than one thing, send multiple pull requests.
  • Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.

Issues

For bug reporting or code discussions.

More info on how to work with GitHub on help.github.com.

Credits

License

The module is licensed under MIT. In short, this license allows you to do everything as long as the copyright statement stays present.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].