X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=CRM%2FCore%2FPage.php;h=76a3e7e26e256d079bd22666405eb2d68fccb816;hb=ef6a6691b7f0347e3549549a7c5aafa3b843d8ac;hp=e3aadfebcdac66342449496f6f7bcf03df0789ff;hpb=04f0066b7aff21efea1aa27cb71eeb1a758d3f85;p=civicrm-core.git diff --git a/CRM/Core/Page.php b/CRM/Core/Page.php index e3aadfebcd..76a3e7e26e 100644 --- a/CRM/Core/Page.php +++ b/CRM/Core/Page.php @@ -59,7 +59,9 @@ class CRM_Core_Page { * Are we in print mode? if so we need to modify the display * functionality to do a minimal display :) * - * @var bool + * @var int|string + * Should match a CRM_Core_Smarty::PRINT_* constant, + * or equal 0 if not in print mode */ protected $_print = FALSE; @@ -127,6 +129,9 @@ class CRM_Core_Page { // Required for footer.tpl, // See ExampleHookTest:testPageOutput. 'footer_status_severity', + // in 'body.tpl + 'suppressForm', + 'beginHookFormElements', ]; /** @@ -194,6 +199,8 @@ class CRM_Core_Page { $pageTemplateFile = $this->getHookedTemplateFileName(); self::$_template->assign('tplFile', $pageTemplateFile); + self::$_template->addExpectedTabHeaderKeys(); + // invoke the pagRun hook, CRM-3906 CRM_Utils_Hook::pageRun($this); @@ -218,10 +225,10 @@ class CRM_Core_Page { //its time to call the hook. CRM_Utils_Hook::alterContent($content, 'page', $pageTemplateFile, $this); - if ($this->_print == CRM_Core_Smarty::PRINT_PDF) { + if ($this->_print === CRM_Core_Smarty::PRINT_PDF) { CRM_Utils_PDF_Utils::html2pdf($content, "{$this->_name}.pdf", FALSE); } - elseif ($this->_print == CRM_Core_Smarty::PRINT_JSON) { + elseif ($this->_print === CRM_Core_Smarty::PRINT_JSON) { $this->ajaxResponse['content'] = $content; CRM_Core_Page_AJAX::returnJsonResponse($this->ajaxResponse); } @@ -389,7 +396,11 @@ class CRM_Core_Page { /** * Setter for print. * - * @param bool $print + * @param int|string $print + * Should match a CRM_Core_Smarty::PRINT_* constant, + * or equal 0 if not in print mode + * + * @return void */ public function setPrint($print) { $this->_print = $print; @@ -398,8 +409,9 @@ class CRM_Core_Page { /** * Getter for print. * - * @return bool - * return the print value + * @return int|string + * Value matching a CRM_Core_Smarty::PRINT_* constant, + * or 0 if not in print mode */ public function getPrint() { return $this->_print; @@ -507,4 +519,25 @@ class CRM_Core_Page { return "$sr"; } + /** + * Add an expected smarty variable to the array. + * + * @param string $elementName + */ + public function addExpectedSmartyVariable(string $elementName): void { + $this->expectedSmartyVariables[] = $elementName; + } + + /** + * Add an expected smarty variable to the array. + * + * @param array $elementNames + */ + public function addExpectedSmartyVariables(array $elementNames): void { + foreach ($elementNames as $elementName) { + // Duplicates don't actually matter.... + $this->addExpectedSmartyVariable($elementName); + } + } + }