Merge pull request #14928 from lcdservices/dev-core-1158
[civicrm-core.git] / CRM / Core / Smarty / plugins / block.crmRegion.php
1 <?php
2
3 /**
4 * Smarty block function for defining content-regions which can be dynamically-altered
5 *
6 * @see CRM_Core_Regions
7 *
8 * @param array $params
9 * Must define 'name'.
10 * @param string $content
11 * Default content.
12 * @param CRM_Core_Smarty $smarty
13 * The Smarty object.
14 *
15 * @param $repeat
16 *
17 * @return string
18 */
19 function smarty_block_crmRegion($params, $content, &$smarty, &$repeat) {
20 if ($repeat) {
21 return NULL;
22 }
23 require_once 'CRM/Core/Region.php';
24 $region = CRM_Core_Region::instance($params['name'], FALSE);
25 if ($region) {
26 $result = $region->render($content, CRM_Utils_Array::value('allowCmsOverride', $params, TRUE));
27 return $result;
28 }
29 else {
30 return $content;
31 }
32 }