private function _createFromData($data)
{
if (!isset($data['summary'])) {
throw new Horde_Push_Exception('Data is lacking a summary element!');
}
$push = new Horde_Push();
$push->setSummary($data['summary']);
if (isset($data['body'])) {
if (htmlspecialchars($data['body']) != $data['body']) {
$push->addContent($data['body'], 'text/html');
} else {
$push->addContent($data['body']);
}
}
if (isset($data['tags'])) {
foreach ($data['tags'] as $tag) {
$push->addTag($tag);
}
}
if (isset($data['references'])) {
foreach ($data['references'] as $reference) {
$push->addReference($reference);
}
}
return $push;
}