Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1821917
Binary.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Size
2 KB
Subscribers
None
Binary.php
View Options
<?php
namespace
Sabre\VObject\Property
;
use
LogicException
,
Sabre\VObject\Property
;
/**
* BINARY property
*
* This object represents BINARY values.
*
* Binary values are most commonly used by the iCalendar ATTACH property, and
* the vCard PHOTO property.
*
* This property will transparently encode and decode to base64.
*
* @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
class
Binary
extends
Property
{
/**
* In case this is a multi-value property. This string will be used as a
* delimiter.
*
* @var string|null
*/
public
$delimiter
=
null
;
/**
* Updates the current value.
*
* This may be either a single, or multiple strings in an array.
*
* @param string|array $value
* @return void
*/
public
function
setValue
(
$value
)
{
if
(
is_array
(
$value
))
{
if
(
count
(
$value
)
===
1
)
{
$this
->
value
=
$value
[
0
];
}
else
{
throw
new
\InvalidArgumentException
(
'The argument must either be a string or an array with only one child'
);
}
}
else
{
$this
->
value
=
$value
;
}
}
/**
* Sets a raw value coming from a mimedir (iCalendar/vCard) file.
*
* This has been 'unfolded', so only 1 line will be passed. Unescaping is
* not yet done, but parameters are not included.
*
* @param string $val
* @return void
*/
public
function
setRawMimeDirValue
(
$val
)
{
$this
->
value
=
base64_decode
(
$val
);
}
/**
* Returns a raw mime-dir representation of the value.
*
* @return string
*/
public
function
getRawMimeDirValue
()
{
return
base64_encode
(
$this
->
value
);
}
/**
* Returns the type of value.
*
* This corresponds to the VALUE= parameter. Every property also has a
* 'default' valueType.
*
* @return string
*/
public
function
getValueType
()
{
return
'BINARY'
;
}
/**
* Returns the value, in the format it should be encoded for json.
*
* This method must always return an array.
*
* @return array
*/
public
function
getJsonValue
()
{
return
array
(
base64_encode
(
$this
->
getValue
()));
}
/**
* Sets the json value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
*
* @param array $value
* @return void
*/
public
function
setJsonValue
(
array
$value
)
{
$value
=
array_map
(
'base64_decode'
,
$value
);
parent
::
setJsonValue
(
$value
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Tue, Dec 24, 11:39 AM (17 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
915839
Default Alt Text
Binary.php (2 KB)
Attached To
rDAVCAL DokuWiki DAVCal PlugIn
Event Timeline
Log In to Comment