Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1821161
VCard.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Size
1 KB
Subscribers
None
VCard.php
View Options
<?php
namespace
Sabre\VObject\Splitter
;
use
Sabre\VObject
,
Sabre\VObject\Parser\MimeDir
;
/**
* 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) 2011-2015 fruux GmbH (https://fruux.com/).
* @author Dominik Tobschall
* @author Armin Hackmann
* @license http://sabre.io/license/ Modified BSD License
*/
class
VCard
implements
SplitterInterface
{
/**
* File handle
*
* @var resource
*/
protected
$input
;
/**
* Persistent parser
*
* @var MimeDir
*/
protected
$parser
;
/**
* Constructor
*
* The splitter should receive an readable file stream as it's input.
*
* @param resource $input
* @param int $options Parser options, see the OPTIONS constants.
*/
public
function
__construct
(
$input
,
$options
=
0
)
{
$this
->
input
=
$input
;
$this
->
parser
=
new
MimeDir
(
$input
,
$options
);
}
/**
* 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
()
{
try
{
$object
=
$this
->
parser
->
parse
();
if
(!
$object
instanceof
VObject\Component\VCard
)
{
throw
new
VObject\ParseException
(
'The supplied input contained non-VCARD data.'
);
}
}
catch
(
VObject\EofException
$e
)
{
return
null
;
}
return
$object
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Mon, Dec 23, 5:23 AM (15 h, 51 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
915610
Default Alt Text
VCard.php (1 KB)
Attached To
rDAVCAL DokuWiki DAVCal PlugIn
Event Timeline
Log In to Comment