}
/**
- * 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 .
* @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);
}
/**
$recursionDates = [];
if (is_a($this->recursion, 'When\When')) {
- $initialCount = CRM_Utils_Array::value('start_action_offset', $this->schedule);
+ $initialCount = $this->schedule['start_action_offset'] ?? NULL;
$exRangeStart = $exRangeEnd = NULL;
if (!empty($this->excludeDateRangeColumns)) {
//For Repeats on:(weekly case)
if ($formParams['repetition_frequency_unit'] == 'week') {
if (!empty($formParams['start_action_condition'])) {
- $repeats_on = CRM_Utils_Array::value('start_action_condition', $formParams);
+ $repeats_on = $formParams['start_action_condition'] ?? NULL;
$dbParams['start_action_condition'] = implode(",", array_keys($repeats_on));
}
}