Merge pull request #15890 from civicrm/5.20
[civicrm-core.git] / CRM / Batch / BAO / EntityBatch.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12 /**
13 *
14 * @package CRM
15 * @copyright CiviCRM LLC https://civicrm.org/licensing
16 */
17 class CRM_Batch_BAO_EntityBatch extends CRM_Batch_DAO_EntityBatch {
18
19 /**
20 * Create entity batch entry.
21 *
22 * @param array $params
23 * @return array
24 */
25 public static function create(&$params) {
26 $op = 'edit';
27 $entityId = CRM_Utils_Array::value('id', $params);
28 if (!$entityId) {
29 $op = 'create';
30 }
31 CRM_Utils_Hook::pre($op, 'EntityBatch', $entityId, $params);
32 $entityBatch = new CRM_Batch_DAO_EntityBatch();
33 $entityBatch->copyValues($params);
34 $entityBatch->save();
35 CRM_Utils_Hook::post($op, 'EntityBatch', $entityBatch->id, $entityBatch);
36 return $entityBatch;
37 }
38
39 /**
40 * Remove entries from entity batch.
41 * @param array|int $params
42 * @return CRM_Batch_DAO_EntityBatch
43 */
44 public static function del($params) {
45 if (!is_array($params)) {
46 $params = ['id' => $params];
47 }
48 $entityBatch = new CRM_Batch_DAO_EntityBatch();
49 $entityId = CRM_Utils_Array::value('id', $params);
50 CRM_Utils_Hook::pre('delete', 'EntityBatch', $entityId, $params);
51 $entityBatch->copyValues($params);
52 $entityBatch->delete();
53 CRM_Utils_Hook::post('delete', 'EntityBatch', $entityBatch->id, $entityBatch);
54 return $entityBatch;
55 }
56
57 }