From: Michael M Slusarz Date: Thu, 6 May 2010 16:36:48 +0000 (-0600) Subject: Add null Alarm driver. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=58cc4f62e8c622a84c221c2ae698bfa593fd039b;p=horde.git Add null Alarm driver. Not sure if this is the right way of handling this, but Horde is completely unusable without this for anybody who doesn't have a SQL backend configured. --- diff --git a/framework/Alarm/lib/Horde/Alarm.php b/framework/Alarm/lib/Horde/Alarm.php index 083d6ac00..78e240801 100644 --- a/framework/Alarm/lib/Horde/Alarm.php +++ b/framework/Alarm/lib/Horde/Alarm.php @@ -52,7 +52,7 @@ abstract class Horde_Alarm $class = __CLASS__ . '_' . $driver; if (!class_exists($class)) { - throw new Horde_Alarm_Exception('Could not find driver.'); + $class = __CLASS__ . '_Null'; } $alarm = new $class($params); diff --git a/framework/Alarm/lib/Horde/Alarm/Null.php b/framework/Alarm/lib/Horde/Alarm/Null.php new file mode 100644 index 000000000..0c337215f --- /dev/null +++ b/framework/Alarm/lib/Horde/Alarm/Null.php @@ -0,0 +1,193 @@ + + * @package Horde_Alarm + */ +class Horde_Alarm_Null extends Horde_Alarm +{ + /** + * Returns a list of alarms from the backend. + * + * @param Horde_Date $time The time when the alarms should be active. + * @param string $user Return alarms for this user, all users if + * null, or global alarms if empty. + * + * @return array A list of alarm hashes. + * @throws Horde_Alarm_Exception + */ + protected function _list($user, Horde_Date $time) + { + return array(); + } + + /** + * Returns an alarm hash from the backend. + * + * @param string $id The alarm's unique id. + * @param string $user The alarm's user + * + * @return array An alarm hash. + * @throws Horde_Alarm_Exception + */ + protected function _get($id, $user) + { + return array(); + } + + /** + * Adds an alarm hash to the backend. + * + * @param array $alarm An alarm hash. + * + * @throws Horde_Alarm_Exception + */ + protected function _add(array $alarm) + { + } + + /** + * Updates an alarm hash in the backend. + * + * @param array $alarm An alarm hash. + * @param boolean $keepsnooze Whether to keep the snooze value unchanged. + * + * @throws Horde_Alarm_Exception + */ + protected function _update(array $alarm, $keepsnooze = false) + { + } + + /** + * Updates internal alarm properties, i.e. properties not determined by + * the application setting the alarm. + * + * @param string $id The alarm's unique id. + * @param string $user The alarm's user + * @param array $internal A hash with the internal data. + * + * @throws Horde_Alarm_Exception + */ + protected function _internal($id, $user, array $internal) + { + } + + /** + * Returns whether an alarm with the given id exists already. + * + * @param string $id The alarm's unique id. + * @param string $user The alarm's user + * + * @return boolean True if the specified alarm exists. + * @throws Horde_Alarm_Exception + */ + protected function _exists($id, $user) + { + return false; + } + + /** + * Delays (snoozes) an alarm for a certain period. + * + * @param string $id The alarm's unique id. + * @param string $user The alarm's user + * @param Horde_Date $snooze The snooze time. + * + * @throws Horde_Alarm_Exception + */ + protected function _snooze($id, $user, Horde_Date $snooze) + { + } + + /** + * Returns whether an alarm is snoozed. + * + * @param string $id The alarm's unique id. + * @param string $user The alarm's user + * @param Horde_Date $time The time when the alarm may be snoozed. + * + * @return boolean True if the alarm is snoozed. + * @throws Horde_Alarm_Exception + */ + protected function _isSnoozed($id, $user, Horde_Date $time) + { + return false; + } + + /** + * Dismisses an alarm. + * + * @param string $id The alarm's unique id. + * @param string $user The alarm's user + * + * @throws Horde_Alarm_Exception + */ + protected function _dismiss($id, $user) + { + } + + /** + * Deletes an alarm from the backend. + * + * @param string $id The alarm's unique id. + * @param string $user The alarm's user. All users' alarms if null. + * + * @throws Horde_Alarm_Exception + */ + protected function _delete($id, $user = null) + { + } + + /** + * Garbage collects old alarms in the backend. + * + * @throws Horde_Alarm_Exception + */ + protected function _gc() + { + } + + /** + * Attempts to initialize the backend. + * + * @throws Horde_Alarm_Exception + */ + public function initialize() + { + } + + /** + * Converts a value from the driver's charset. + * + * @param mixed $value Value to convert. + * + * @return mixed Converted value. + */ + protected function _fromDriver($value) + { + return $value; + } + + /** + * Converts a value to the driver's charset. + * + * @param mixed $value Value to convert. + * + * @return mixed Converted value. + */ + protected function _toDriver($value) + { + return $value; + } + +} diff --git a/framework/Alarm/package.xml b/framework/Alarm/package.xml index a2158bab9..ad2bd3935 100644 --- a/framework/Alarm/package.xml +++ b/framework/Alarm/package.xml @@ -33,6 +33,7 @@ http://pear.php.net/dtd/package-2.0.xsd"> + @@ -81,6 +82,7 @@ http://pear.php.net/dtd/package-2.0.xsd"> +