Commit | Line | Data |
---|---|---|
b698e2d5 TO |
1 | <?php |
2 | /* | |
3 | +--------------------------------------------------------------------+ | |
bc77d7c0 | 4 | | Copyright CiviCRM LLC. All rights reserved. | |
b698e2d5 | 5 | | | |
bc77d7c0 TO |
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 | | |
b698e2d5 TO |
9 | +--------------------------------------------------------------------+ |
10 | */ | |
11 | ||
12 | /** | |
13 | * | |
14 | * @package CRM | |
15 | * @copyright CiviCRM LLC | |
16 | * $Id$ | |
17 | * | |
18 | */ | |
19 | ||
20 | /** | |
21 | * Determine the path of a resource file | |
22 | * | |
23 | * @param array $params | |
502492c2 TO |
24 | * Identify the resource by either 'ext'+'file' or 'expr'. |
25 | * | |
b698e2d5 TO |
26 | * Array with keys: |
27 | * - ext: string, extension name. see CRM_Core_Resources::getPath | |
28 | * - file: string, relative file path. see CRM_Core_Resources::getPath | |
502492c2 | 29 | * - expr: string, a dynamic path expression. See: \Civi\Core\Paths::getPath() |
b698e2d5 TO |
30 | * @param CRM_Core_Smarty $smarty |
31 | * | |
32 | * @return string | |
33 | */ | |
34 | function smarty_function_crmResPath($params, &$smarty) { | |
502492c2 TO |
35 | if (!empty($params['expr'])) { |
36 | return Civi::paths()->getPath($params['expr']); | |
37 | } | |
38 | ||
b698e2d5 TO |
39 | $res = CRM_Core_Resources::singleton(); |
40 | if (!array_key_exists('ext', $params)) { | |
41 | $params['ext'] = 'civicrm'; | |
42 | } | |
43 | if (!array_key_exists('file', $params)) { | |
44 | $params['file'] = NULL; | |
45 | } | |
46 | return $res->getPath($params['ext'], $params['file']); | |
47 | } |