Merge pull request #13170 from elisseck/dev/core/485
[civicrm-core.git] / CRM / ACL / BAO / EntityRole.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 5 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2019 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26 */
27
28 /**
29 *
30 * @package CRM
31 * @copyright CiviCRM LLC (c) 2004-2019
32 */
33
34 /**
35 * Access Control EntityRole.
36 */
37 class CRM_ACL_BAO_EntityRole extends CRM_ACL_DAO_EntityRole {
38 static $_entityTable = NULL;
39
40 /**
41 * Get entity table.
42 *
43 * @return array|null
44 */
45 public static function entityTable() {
46 if (!self::$_entityTable) {
47 self::$_entityTable = array(
48 'civicrm_contact' => ts('Contact'),
49 'civicrm_group' => ts('Group'),
50 );
51 }
52 return self::$_entityTable;
53 }
54
55 /**
56 * @param array $params
57 *
58 * @return CRM_ACL_DAO_EntityRole
59 */
60 public static function create(&$params) {
61 $dao = new CRM_ACL_DAO_EntityRole();
62 $dao->copyValues($params);
63 $dao->save();
64 return $dao;
65 }
66
67 /**
68 * @param array $params
69 * @param $defaults
70 */
71 public static function retrieve(&$params, &$defaults) {
72 CRM_Core_DAO::commonRetrieve('CRM_ACL_DAO_EntityRole', $params, $defaults);
73 }
74
75 /**
76 * Update the is_active flag in the db.
77 *
78 * @param int $id
79 * Id of the database record.
80 * @param bool $is_active
81 * Value we want to set the is_active field.
82 *
83 * @return bool
84 * true if we found and updated the object, else false
85 */
86 public static function setIsActive($id, $is_active) {
87 return CRM_Core_DAO::setFieldValue('CRM_ACL_DAO_EntityRole', $id, 'is_active', $is_active);
88 }
89
90 /**
91 * Delete Entity Role records.
92 *
93 * @param int $entityRoleId
94 * ID of the EntityRole record to be deleted.
95 *
96 */
97 public static function del($entityRoleId) {
98 $entityDAO = new CRM_ACL_DAO_EntityRole();
99 $entityDAO->id = $entityRoleId;
100 $entityDAO->find(TRUE);
101 $entityDAO->delete();
102 }
103
104 }