• File: reporting.php
  • Full Path: /home/matthif/www/wp-content/plugins/google-analytics-for-wordpress/includes/admin/reporting.php
  • Date Modified: 01/24/2025 1:57 PM
  • File size: 1.24 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?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;
    }
}