filters = $filters; foreach ($filters as $filter) { switch ($filter['Name']) { case 'Begin_Date': $this->beginDate = $filter['Value']; break; case 'End_Date': $this->endDate = $filter['Value']; break; } } // The filters predefined for this report $predefinedFilters = [ [ 'Name' => 'Metric_Type', 'Value' => 'Total_Item_Requests|Unique_Item_Requests' ], [ 'Name' => 'Access_Method', 'Value' => self::ACCESS_METHOD ], [ 'Name' => 'Data_Type', 'Value' => self::DATA_TYPE ], [ 'Name' => 'Parent_Data_Type', 'Value' => self::PARENT_DATA_TYPE ] ]; $this->filters = array_merge($filters, $predefinedFilters); } /** * Set attributes based on the requested parameters. */ public function setAttributes(array $attributes): void { $predefinedAttributes = [ [ 'Name' => 'Attributes_To_Show', 'Value' => 'Article_Version|Authors|Access_Type|Publication_Date' ], [ 'Name' => 'Include_Parent_Details', 'Value' => 'True' ], ]; parent::setAttributes($predefinedAttributes); } /** Get report specific form fields */ public static function getReportSettingsFormFields(): array { return parent::getCommonReportSettingsFormFields(); } }