| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- /**
- * MonsterInsights Reporting.
- *
- * Handles aggregating data.
- *
- * @since 7.0.0
- *
- * @package MonsterInsights
- * @subpackage GA Reporting
- * @author Chris Christoff
- */
- // Exit if accessed directly
- if ( ! defined( 'ABSPATH' ) ) {
- exit;
- }
- final class MonsterInsights_Reporting {
- public $reports = array();
- public function __construct( ) {
- }
- public function add_report( $report = false ){
- if ( empty( $report ) || ! is_object( $report ) ) {
- return;
- }
- if ( version_compare( $report->version, '1.0.0', '<' ) ) {
- return;
- }
- $this->reports[] = $report;
- }
- public function get_aggregate_data() {
- if ( ! empty( $this->reports ) ) {
- foreach ( $this->reports as $report ) {
- $report->get_data( array( 'default' => true ) );
- }
- }
- }
- // $where possible values: auto, site, network, both
- public function delete_aggregate_data( $where = 'site' ) {
- if ( ! empty( $this->reports ) ) {
- foreach ( $this->reports as $report ) {
- $report->delete_cache( $where );
- }
- }
- }
- public function get_report( $name = '' ) {
- if ( empty( $name ) || empty( $this->reports ) ) {
- return false;
- }
- foreach ( $this->reports as $report ) {
- if ( $name === $report->name ) {
- return $report;
- }
- }
- return false;
- }
- }
|