/** * @param $rev */ public function upgrade_3_2_alpha1($rev) { //CRM-5666 -if user already have 'access CiviCase' //give all new permissions and drop access CiviCase. $config = CRM_Core_Config::singleton(); if ($config->userSystem->is_drupal) { $config->userSystem->replacePermission('access CiviCase', array('access my cases and activities', 'access all cases and activities', 'administer CiviCase')); //insert core acls. $casePermissions = array('delete in CiviCase', 'administer CiviCase', 'access my cases and activities', 'access all cases and activities'); $aclParams = array('name' => 'Core ACL', 'deny' => 0, 'acl_id' => NULL, 'object_id' => NULL, 'acl_table' => NULL, 'entity_id' => 1, 'operation' => 'All', 'is_active' => 1, 'entity_table' => 'civicrm_acl_role'); foreach ($casePermissions as $per) { $aclParams['object_table'] = $per; $acl = new CRM_ACL_DAO_ACL(); $acl->object_table = $per; if (!$acl->find(TRUE)) { $acl->copyValues($aclParams); $acl->save(); } } //drop 'access CiviCase' acl CRM_Core_DAO::executeQuery("DELETE FROM civicrm_acl WHERE object_table = 'access CiviCase'"); } $upgrade = new CRM_Upgrade_Form(); $upgrade->processSQL($rev); }
function upgrade_3_2_alpha1($rev) { //CRM-5666 -if user already have 'access CiviCase' //give all new permissions and drop access CiviCase. $config = CRM_Core_Config::singleton(); if ($config->userFramework == 'Drupal') { db_query("UPDATE {permission} SET perm = REPLACE( perm, 'access CiviCase', 'access my cases and activities, access all cases and activities, administer CiviCase' )"); //insert core acls. $casePermissions = array('delete in CiviCase', 'administer CiviCase', 'access my cases and activities', 'access all cases and activities'); require_once 'CRM/ACL/DAO/ACL.php'; $aclParams = array('name' => 'Core ACL', 'deny' => 0, 'acl_id' => NULL, 'object_id' => NULL, 'acl_table' => NULL, 'entity_id' => 1, 'operation' => 'All', 'is_active' => 1, 'entity_table' => 'civicrm_acl_role'); foreach ($casePermissions as $per) { $aclParams['object_table'] = $per; $acl = new CRM_ACL_DAO_ACL(); $acl->object_table = $per; if (!$acl->find(true)) { $acl->copyValues($aclParams); $acl->save(); } } //drop 'access CiviCase' acl CRM_Core_DAO::executeQuery("DELETE FROM civicrm_acl WHERE object_table = 'access CiviCase'"); } $upgrade =& new CRM_Upgrade_Form(); $upgrade->processSQL($rev); }
static function create(&$params) { $dao = new CRM_ACL_DAO_ACL(); $dao->copyValues($params); $dao->save(); }
static function updateCiviACL(&$params, $op) { $dao = new CRM_ACL_DAO_ACL(); $dao->object_table = 'civicrm_saved_search'; $dao->object_id = $params['civicrm_group_id']; if ($op == 'delete') { $dao->delete(); return; } $dao->find(TRUE); $dao->entity_table = 'civicrm_acl_role'; $dao->entity_id = $params['acl_role_id']; $dao->operation = 'Edit'; $dao->is_active = TRUE; $dao->save(); $params['acl_id'] = $dao->id; }