コード例 #1
0
ファイル: Base.php プロジェクト: kidaa30/yes
 /**
  * Translate permission.
  *
  * @param string $perm
  *   Permission string e.g "administer CiviCRM", "cms:access user record", "Drupal:administer content",
  *   "Joomla:action:com_asset"
  *
  * @param string $nativePrefix
  * @param array $map
  *   Array($portableName => $nativeName).
  *
  * @return NULL|string
  *   a permission name
  */
 public function translatePermission($perm, $nativePrefix, $map)
 {
     list($civiPrefix, $name) = CRM_Utils_String::parsePrefix(':', $perm, NULL);
     switch ($civiPrefix) {
         case $nativePrefix:
             return $name;
             // pass through
         // pass through
         case 'cms':
             return CRM_Utils_Array::value($name, $map, CRM_Core_Permission::ALWAYS_DENY_PERMISSION);
         case NULL:
             return $name;
         default:
             return CRM_Core_Permission::ALWAYS_DENY_PERMISSION;
     }
 }
コード例 #2
0
 /**
  * @param $perm
  *
  * @internal param string $name e.g. "administer CiviCRM", "cms:access user record", "Drupal:administer content", "Joomla:example.action:com_some_asset"
  * @return ALWAYS_DENY_PERMISSION|ALWAYS_ALLOW_PERMISSION|array(0 => $joomlaAction, 1 => $joomlaAsset)
  */
 function translateJoomlaPermission($perm)
 {
     if ($perm === CRM_Core_Permission::ALWAYS_DENY_PERMISSION || $perm === CRM_Core_Permission::ALWAYS_ALLOW_PERMISSION) {
         return $perm;
     }
     list($civiPrefix, $name) = CRM_Utils_String::parsePrefix(':', $perm, NULL);
     switch ($civiPrefix) {
         case 'Joomla':
             return explode(':', $name);
         case 'cms':
             // FIXME: This needn't be DENY, but we don't currently have any translations.
             return CRM_Core_Permission::ALWAYS_DENY_PERMISSION;
         case NULL:
             return array('civicrm.' . CRM_Utils_String::munge(strtolower($name)), 'com_civicrm');
         default:
             return CRM_Core_Permission::ALWAYS_DENY_PERMISSION;
     }
 }
コード例 #3
0
ファイル: StringTest.php プロジェクト: hyebahi/civicrm-core
 /**
  * @dataProvider parsePrefixData
  * @param $input
  * @param $defaultPrefix
  * @param $expected
  */
 public function testParsePrefix($input, $defaultPrefix, $expected)
 {
     $actual = CRM_Utils_String::parsePrefix(':', $input, $defaultPrefix);
     $this->assertEquals($expected, $actual);
 }