From 035d09c0818ff4c51431a837850db97f756ea5f9 Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Wed, 26 Jan 2011 11:51:41 -0500 Subject: [PATCH] catch exceptions --- kronolith/scripts/upgrades/convert_to_utc.php | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/kronolith/scripts/upgrades/convert_to_utc.php b/kronolith/scripts/upgrades/convert_to_utc.php index f7e83b351..3e53238e1 100755 --- a/kronolith/scripts/upgrades/convert_to_utc.php +++ b/kronolith/scripts/upgrades/convert_to_utc.php @@ -10,9 +10,15 @@ Horde_Registry::appInit('kronolith', array('cli' => true)); /* Prepare DB stuff. */ PEAR::pushErrorHandling(PEAR_ERROR_CALLBACK, create_function('$e', 'echo $e->toString()."\n";exit;')); -$db = $injector->getInstance('Horde_Core_Factory_DbPear')->create(); -$result = $db->query('SELECT event_title, event_id, event_creator_id, event_start, event_end, event_allday, event_recurenddate FROM ' . $conf['calendar']['params']['table'] . ' ORDER BY event_creator_id'); -$stmt = $db->prepare('UPDATE kronolith_events SET event_start = ?, event_end = ?, event_recurenddate = ? WHERE event_id = ?'); +$db = $injector->getInstance('Horde_Db_Adapter'); +try { + $result = $db->selectAll('SELECT event_title, event_id, event_creator_id, event_start, event_end, event_allday, event_recurenddate FROM ' . $conf['calendar']['params']['table'] . ' ORDER BY event_creator_id'); +} catch (Horde_Db_Exception $e) { + echo $e->getMessage() . "\n"; + exit; +} + +$stmt = 'UPDATE kronolith_events SET event_start = ?, event_end = ?, event_recurenddate = ? WHERE event_id = ?'; /* Confirm changes. */ if (!isset($argv[1]) || $argv[1] != '--yes') { @@ -26,7 +32,7 @@ if (!isset($argv[1]) || $argv[1] != '--yes') { $creator = null; $utc = new DateTimeZone('UTC'); echo "Converting events for:\n"; -while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { +foreach ($result as $row) { if ($row['event_allday']) { continue; } @@ -54,7 +60,13 @@ while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { $end->setTimezone($utc); $recur_end = new DateTime($row['event_recurenddate'], $timezone); $recur_end->setTimezone($utc); - $db->execute($stmt, array($start->format('Y-m-d H:i:s'), $end->format('Y-m-d H:i:s'), $recur_end->format('Y-m-d H:i:s'), $row['event_id'])); + + try { + $db->update($stmt, array($start->format('Y-m-d H:i:s'), $end->format('Y-m-d H:i:s'), $recur_end->format('Y-m-d H:i:s'), $row['event_id'])); + } catch (Horde_Db_Exception $e) { + echo $e->getMessage() . "\n"; + exit; + } $count++; } echo "$count\n"; -- 2.11.0