catch exceptions
authorMichael J. Rubinsky <mrubinsk@horde.org>
Wed, 26 Jan 2011 16:51:41 +0000 (11:51 -0500)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Wed, 26 Jan 2011 18:58:34 +0000 (13:58 -0500)
kronolith/scripts/upgrades/convert_to_utc.php

index f7e83b3..3e53238 100755 (executable)
@@ -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";