Page MenuHomePhorge

VCard.php
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

VCard.php

<?php
namespace Sabre\VObject\Splitter;
use Sabre\VObject;
/**
* Splitter
*
* This class is responsible for splitting up VCard objects.
*
* It is assumed that the input stream contains 1 or more VCARD objects. This
* class checks for BEGIN:VCARD and END:VCARD and parses each encountered
* component individually.
*
* @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).
* @author Dominik Tobschall
* @author Armin Hackmann
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
class VCard implements SplitterInterface {
/**
* File handle
*
* @var resource
*/
protected $input;
/**
* Constructor
*
* The splitter should receive an readable file stream as it's input.
*
* @param resource $input
*/
public function __construct($input) {
$this->input = $input;
}
/**
* Every time getNext() is called, a new object will be parsed, until we
* hit the end of the stream.
*
* When the end is reached, null will be returned.
*
* @return Sabre\VObject\Component|null
*/
public function getNext() {
$vcard = '';
do {
if (feof($this->input)) {
return false;
}
$line = fgets($this->input);
$vcard .= $line;
} while(strtoupper(substr($line,0,4))!=="END:");
$object = VObject\Reader::read($vcard);
if($object->name !== 'VCARD') {
throw new \InvalidArgumentException("Thats no vCard!", 1);
}
return $object;
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, Apr 4, 3:38 AM (1 d, 18 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
58/81/933a0b12f4e7ae223d554b8ca995
Default Alt Text
VCard.php (1 KB)

Event Timeline