$in = CRM_Core_DAO::escapeStrings(array_keys($this->moduleIndex[FALSE]));
$dao = new CRM_Core_DAO_Managed();
$dao->whereAdd("module in ($in)");
+ $dao->orderBy('id DESC');
$dao->find();
while ($dao->fetch()) {
$this->disableEntity($dao);
if (!empty($knownModules)) {
$in = CRM_Core_DAO::escapeStrings($knownModules);
$dao->whereAdd("module NOT IN ($in)");
+ $dao->orderBy('id DESC');
}
$dao->find();
while ($dao->fetch()) {
'version' => 3,
'id' => $dao->entity_id,
);
- $result = civicrm_api($dao->entity_type, 'delete', $params);
- if ($result['is_error']) {
- $this->onApiError($dao->entity_type, 'delete', $params, $result);
+ $check = civicrm_api3($dao->entity_type, 'get', $params);
+ if ((bool) $check['count']) {
+ $result = civicrm_api($dao->entity_type, 'delete', $params);
+ if ($result['is_error']) {
+ $this->onApiError($dao->entity_type, 'delete', $params, $result);
+ }
}
-
CRM_Core_DAO::executeQuery('DELETE FROM civicrm_managed WHERE id = %1', array(
1 => array($dao->id, 'Integer'),
));