Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117751920
AEntry.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
AEntry.php
View Options
<?php
/**
* Syncroton
*
* @package Syncroton
* @subpackage Model
* @license http://www.tine20.org/licenses/lgpl.html LGPL Version 3
* @copyright Copyright (c) 2012-2012 Metaways Infosystems GmbH (http://www.metaways.de)
* @author Lars Kneschke <l.kneschke@metaways.de>
*/
/**
* abstract class to handle ActiveSync entry
*
* @package Syncroton
* @subpackage Model
*/
abstract
class
Syncroton_Model_AEntry
implements
Syncroton_Model_IEntry
,
IteratorAggregate
,
Countable
{
protected
$_elements
=
array
();
protected
$_isDirty
;
/**
* (non-PHPdoc)
* @see Syncroton_Model_IEntry::__construct()
*/
public
function
__construct
(
$properties
=
null
)
{
if
(
is_array
(
$properties
))
{
$this
->
setFromArray
(
$properties
);
}
$this
->
_isDirty
=
false
;
}
/**
* (non-PHPdoc)
* @see Countable::count()
*/
#[\ReturnTypeWillChange]
public
function
count
()
{
return
count
(
$this
->
_elements
);
}
/**
* (non-PHPdoc)
* @see IteratorAggregate::getIterator()
*/
#[\ReturnTypeWillChange]
public
function
getIterator
()
{
return
new
ArrayIterator
(
$this
->
_elements
);
}
/**
* (non-PHPdoc)
* @see Syncroton_Model_IEntry::isDirty()
*/
public
function
isDirty
()
{
return
$this
->
_isDirty
;
}
/**
* (non-PHPdoc)
* @see Syncroton_Model_IEntry::setFromArray()
*/
public
function
setFromArray
(
array
$properties
)
{
foreach
(
$properties
as
$key
=>
$value
)
{
try
{
$this
->
$key
=
$value
;
//echo __LINE__ . PHP_EOL;
}
catch
(
InvalidArgumentException
$iae
)
{
//ignore invalid properties
//echo __LINE__ . PHP_EOL; echo $iae->getMessage(); echo $iae->getTraceAsString();
}
}
}
public
function
&
__get
(
$name
)
{
return
$this
->
_elements
[
$name
];
}
public
function
__set
(
$name
,
$value
)
{
if
(!
array_key_exists
(
$name
,
$this
->
_elements
)
||
$this
->
_elements
[
$name
]
!=
$value
)
{
$this
->
_elements
[
$name
]
=
$value
;
$this
->
_isDirty
=
true
;
}
}
public
function
__isset
(
$name
)
{
return
isset
(
$this
->
_elements
[
$name
]);
}
public
function
__unset
(
$name
)
{
unset
(
$this
->
_elements
[
$name
]);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Apr 4, 3:34 AM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18822434
Default Alt Text
AEntry.php (2 KB)
Attached To
Mode
rS syncroton
Attached
Detach File
Event Timeline