示例#1
0
文件: ThreeTwo.php 项目: kidaa30/yes
 /**
  * @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);
 }
示例#2
0
 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();
 }