Skip to content

Commit

Permalink
Catch exceptions.
Browse files Browse the repository at this point in the history
Don't let an issue obtaining a single folder from taking down
the entire sync.
  • Loading branch information
mrubinsk committed Jul 6, 2014
1 parent d69897b commit bcd1f77
Showing 1 changed file with 60 additions and 36 deletions.
96 changes: 60 additions & 36 deletions framework/Core/lib/Horde/Core/ActiveSync/Driver.php
Expand Up @@ -332,71 +332,95 @@ public function getFolders()
$temp = $this->_connector->getFolders(Horde_ActiveSync::CLASS_CALENDAR, $multiplex);
if (is_array($temp)) {
foreach ($temp as $id => $folder) {
$folders[] = $this->_getFolder(
Horde_ActiveSync::CLASS_CALENDAR . ':' . $id,
array(
'class' => Horde_ActiveSync::CLASS_CALENDAR,
'primary' => $folder['primary'],
'display' => $folder['display']
)
);
try {
$folders[] = $this->_getFolder(
Horde_ActiveSync::CLASS_CALENDAR . ':' . $id,
array(
'class' => Horde_ActiveSync::CLASS_CALENDAR,
'primary' => $folder['primary'],
'display' => $folder['display']
)
);
} catch (Horde_ActiveSync_Exception $e) {
}
}
} else {
$folders[] = $this->_getFolder($temp);
try {
$folders[] = $this->_getFolder($temp);
} catch (Horde_ActiveSync_Exception $e) {
}
}
}

if (array_search('contacts', $supported) !== false) {
$temp = $this->_connector->getFolders(Horde_ActiveSync::CLASS_CONTACTS, $multiplex);
if (is_array($temp)) {
foreach ($temp as $id => $folder) {
$folders[] = $this->_getFolder(
Horde_ActiveSync::CLASS_CONTACTS . ':' . $id,
array(
'class' => Horde_ActiveSync::CLASS_CONTACTS,
'primary' => $folder['primary'],
'display' => $folder['display']
)
);
try {
$folders[] = $this->_getFolder(
Horde_ActiveSync::CLASS_CONTACTS . ':' . $id,
array(
'class' => Horde_ActiveSync::CLASS_CONTACTS,
'primary' => $folder['primary'],
'display' => $folder['display']
)
);
} catch (Horde_ActiveSync_Exception $e) {
}
}
} else {
$folders[] = $this->_getFolder($temp);
try {
$folders[] = $this->_getFolder($temp);
} catch (Horde_ActiveSync_Exception $e) {
}
}
}

if (array_search('tasks', $supported) !== false) {
$temp = $this->_connector->getFolders(Horde_ActiveSync::CLASS_TASKS, $multiplex);
if (is_array($temp)) {
foreach ($temp as $id => $folder) {
$folders[] = $this->_getFolder(
Horde_ActiveSync::CLASS_TASKS . ':' . $id,
array(
'class' => Horde_ActiveSync::CLASS_TASKS,
'primary' => $folder['primary'],
'display' => $folder['display']
)
);
try {
$folders[] = $this->_getFolder(
Horde_ActiveSync::CLASS_TASKS . ':' . $id,
array(
'class' => Horde_ActiveSync::CLASS_TASKS,
'primary' => $folder['primary'],
'display' => $folder['display']
)
);
} catch (Horde_ActiveSync_Exception $e) {
}
}
} else {
$folders[] = $this->_getFolder($temp);
try {
$folders[] = $this->_getFolder($temp);
} catch (Horde_ActiveSync_Exception $e) {
}
}
}

if (array_search('notes', $supported) !== false) {
$temp = $this->_connector->getFolders(Horde_ActiveSync::CLASS_NOTES, $multiplex);
if (is_array($temp)) {
foreach ($temp as $id => $folder) {
$folders[] = $this->_getFolder(
Horde_ActiveSync::CLASS_NOTES . ':' . $id,
array(
'class' => Horde_ActiveSync::CLASS_NOTES,
'primary' => $folder['primary'],
'display' => $folder['display']
)
);
try {
$folders[] = $this->_getFolder(
Horde_ActiveSync::CLASS_NOTES . ':' . $id,
array(
'class' => Horde_ActiveSync::CLASS_NOTES,
'primary' => $folder['primary'],
'display' => $folder['display']
)
);
} catch (Horde_ActiveSync_Exception $e) {
}
}
} else {
$folders[] = $this->_getFolder($temp);
try {
$folders[] = $this->_getFolder($temp);
} catch (Horde_ActiveSync_Exception $e) {
}
}
}
if ($this->_version > Horde_ActiveSync::VERSION_TWELVEONE) {
Expand Down

0 comments on commit bcd1f77

Please sign in to comment.