public function quickAdd($text, $calendar = null)
{
$text = trim($text);
if (strpos($text, "\n") !== false) {
list($title, $description) = explode($text, "\n", 2);
} else {
$title = $text;
$description = '';
}
$title = trim($title);
$description = trim($description);
$dateParser = Horde_Date_Parser::factory(array('locale' => $GLOBALS['language']));
$r = $dateParser->parse($title, array('return' => 'result'));
if (!($d = $r->guess())) {
throw new Horde_Exception(sprintf(_("Cannot parse event description \"%s\""), Horde_String::truncate($text)));
}
$title = $r->untaggedText();
$kronolith_driver = self::getDriver(null, $calendar);
$event = $kronolith_driver->getEvent();
$event->initialized = true;
$event->title = $title;
$event->description = $description;
$event->start = $d;
$event->end = $d->add(array('hour' => 1));
$event->save();
return $event;
}