protected $groupConcatTested = FALSE;
+ /**
+ * Are we in print mode. Can be set by another outputMode, ex: sendmail.
+ *
+ * @var bool
+ */
+ public $printOnly = FALSE;
+
/**
* An attribute for checkbox/radio form field layout
*
protected $_instanceButtonName = NULL;
protected $_createNewButtonName = NULL;
- protected $_printButtonName = NULL;
- protected $_pdfButtonName = NULL;
- protected $_csvButtonName = NULL;
protected $_groupButtonName = NULL;
protected $_chartButtonName = NULL;
protected $_csvSupported = TRUE;
*/
protected $_sections = NULL;
protected $_autoIncludeIndexedFieldsAsOrderBys = 0;
- protected $_absoluteUrl = FALSE;
+
+ /**
+ * Whether to generate absolute URLs (ex: in report emails).
+ *
+ * @var bool
+ */
+ public $_absoluteUrl = FALSE;
/**
* Flag to indicate if result-set is to be stored in a class variable which could be retrieved using getResultSet() method.
$this->_instanceValues
);
if (empty($this->_instanceValues)) {
- CRM_Core_Error::fatal("Report could not be loaded.");
+ CRM_Core_Error::statusBounce("Report could not be loaded.");
}
$this->_title = $this->_instanceValues['title'];
if (!empty($this->_instanceValues['permission']) &&
// Do not display Report Settings section if administer Reports permission is absent OR
// if report instance is reserved and administer reserved reports absent
if (!CRM_Core_Permission::check('administer Reports') ||
- ($this->_instanceValues['is_reserved'] &&
+ (!empty($this->_instanceValues['is_reserved']) &&
!CRM_Core_Permission::check('administer reserved reports'))
) {
$this->_instanceForm = FALSE;
if (CRM_Core_Permission::check('administer Reports') ||
CRM_Core_Permission::check('access Report Criteria')
) {
- if (!$this->_instanceValues['is_reserved'] ||
+ if (empty($this->_instanceValues['is_reserved']) ||
CRM_Core_Permission::check('administer reserved reports')
) {
$this->assign('criteriaForm', TRUE);
$this->_id = $instanceID;
}
+ /**
+ * Getter for $_id.
+ *
+ * @return int
+ */
+ public function getID() {
+ return $this->_id;
+ }
+
/**
* Setter for $_force.
*
CRM_Core_DAO::$_nullObject
);
- $this->_absoluteUrl = FALSE;
- $printOnly = FALSE;
- $this->assign('printOnly', FALSE);
+ $this->assign('printOnly', $this->printOnly);
if ($this->_outputMode == 'print' ||
($this->_sendmail && !$this->_outputMode)
) {
- $this->assign('printOnly', TRUE);
- $printOnly = TRUE;
+ $this->printOnly = TRUE;
$this->addPaging = FALSE;
- $this->assign('outputMode', 'print');
$this->_outputMode = 'print';
if ($this->_sendmail) {
$this->_absoluteUrl = TRUE;
}
}
elseif ($this->_outputMode == 'pdf') {
- $printOnly = TRUE;
+ $this->printOnly = TRUE;
$this->addPaging = FALSE;
$this->_absoluteUrl = TRUE;
}
elseif ($this->_outputMode == 'csv') {
- $printOnly = TRUE;
+ $this->printOnly = TRUE;
$this->_absoluteUrl = TRUE;
$this->addPaging = FALSE;
}
- elseif ($this->_outputMode == 'group') {
- $this->assign('outputMode', 'group');
- }
- elseif ($this->_outputMode == 'create_report' && $this->_criteriaForm) {
- $this->assign('outputMode', 'create_report');
- }
elseif ($this->_outputMode == 'copy' && $this->_criteriaForm) {
$this->_createNew = TRUE;
}
$this->assign('outputMode', $this->_outputMode);
- $this->assign('printOnly', $printOnly);
+ $this->assign('printOnly', $this->printOnly);
// Get today's date to include in printed reports
- if ($printOnly) {
+ if ($this->printOnly) {
$reportDate = CRM_Utils_Date::customFormat(date('Y-m-d H:i'));
$this->assign('reportDate', $reportDate);
}
*/
protected function storeGroupByArray() {
- if (!CRM_Utils_Array::value('group_bys', $this->_params)
+ if (empty($this->_params['group_bys'])
|| !is_array($this->_params['group_bys'])) {
$this->_params['group_bys'] = [];
}