X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FBAO%2FRecurringEntity.php;h=fceb1237b154f3e87b3518d2b1ff09c01cc7bf75;hb=ab1d98dd07ec04f49b67a93e20ec9a6f8f347d9a;hp=9c6a73513af49a827f193b8b704b4385f86f8190;hpb=10781258d3d7c96bdae5a28ce0da6bed3c1acc33;p=civicrm-core.git diff --git a/CRM/Core/BAO/RecurringEntity.php b/CRM/Core/BAO/RecurringEntity.php index 9c6a73513a..fceb1237b1 100644 --- a/CRM/Core/BAO/RecurringEntity.php +++ b/CRM/Core/BAO/RecurringEntity.php @@ -134,37 +134,17 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { } /** - * Save records in civicrm_recurring_entity table. + * Create or update a RecurringEntity. * * @param array $params - * Reference array contains the values submitted by the form. - * - * @return object + * @return CRM_Core_DAO_RecurringEntity */ - public static function add(&$params) { - if (!empty($params['id'])) { - CRM_Utils_Hook::pre('edit', 'RecurringEntity', $params['id'], $params); - } - else { - CRM_Utils_Hook::pre('create', 'RecurringEntity', NULL, $params); - } - - $daoRecurringEntity = new CRM_Core_DAO_RecurringEntity(); - $daoRecurringEntity->copyValues($params); - $daoRecurringEntity->find(TRUE); - $result = $daoRecurringEntity->save(); - - if (!empty($params['id'])) { - CRM_Utils_Hook::post('edit', 'RecurringEntity', $daoRecurringEntity->id, $daoRecurringEntity); - } - else { - CRM_Utils_Hook::post('create', 'RecurringEntity', $daoRecurringEntity->id, $daoRecurringEntity); - } - return $result; + public static function add($params) { + return self::writeRecord($params); } /** - * Wrapper for the function add() to add entry in recurring entity + * Convenience wrapper for self::writeRecord * * @param int $parentId * Parent entity id . @@ -173,17 +153,15 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { * @param string $entityTable * Name of the entity table . * - * - * @return object + * @return CRM_Core_DAO_RecurringEntity */ public static function quickAdd($parentId, $entityId, $entityTable) { - $params - = [ - 'parent_id' => $parentId, - 'entity_id' => $entityId, - 'entity_table' => $entityTable, - ]; - return self::add($params); + $params = [ + 'parent_id' => $parentId, + 'entity_id' => $entityId, + 'entity_table' => $entityTable, + ]; + return self::writeRecord($params); } /** @@ -246,6 +224,7 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { * Generate new DAOs and along with entries in civicrm_recurring_entity table. * * @return array + * @throws CRM_Core_Exception */ public function generateEntities() { self::setStatus(self::RUNNING); @@ -263,7 +242,7 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { } } if (empty($findCriteria)) { - CRM_Core_Error::fatal("Find criteria missing to generate form. Make sure entity_id and table is set."); + throw new CRM_Core_Exception("Find criteria missing to generate form. Make sure entity_id and table is set."); } $count = 0; @@ -569,11 +548,12 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { * * * @return object + * @throws new CRM_Core_Exception */ public static function copyCreateEntity($entityTable, $fromCriteria, $newParams, $createRecurringEntity = TRUE) { $daoName = self::$_tableDAOMapper[$entityTable]; if (!$daoName) { - CRM_Core_Error::fatal("DAO Mapper missing for $entityTable."); + throw new CRM_Core_Exception("DAO Mapper missing for $entityTable."); } $newObject = CRM_Core_DAO::copyGeneric($daoName, $fromCriteria, $newParams); @@ -653,7 +633,7 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { $updateDAO = CRM_Core_DAO::cascadeUpdate($daoName, $obj->id, $entityID, $skipData); } else { - CRM_Core_Error::fatal("DAO Mapper missing for $entityTable."); + throw new CRM_Core_Exception("DAO Mapper missing for $entityTable."); } } // done with processing. lets unset static var. @@ -707,7 +687,7 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { if (empty($hasaRecurringRecord)) { // check if its a linked entity if (array_key_exists($obj->__table, self::$_linkedEntitiesInfo) && - !CRM_Utils_Array::value('is_multirecord', self::$_linkedEntitiesInfo[$obj->__table]) + empty(self::$_linkedEntitiesInfo[$obj->__table]['is_multirecord']) ) { $linkedDAO = new self::$_tableDAOMapper[$obj->__table](); $linkedDAO->id = $obj->id; @@ -833,7 +813,7 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { foreach (self::$_linkedEntitiesInfo as $linkedTable => $linfo) { $daoName = self::$_tableDAOMapper[$linkedTable]; if (!$daoName) { - CRM_Core_Error::fatal("DAO Mapper missing for $linkedTable."); + throw new CRM_Core_Exception("DAO Mapper missing for $linkedTable."); } $linkedDao = new $daoName();