Piwik\Plugins\MultiSites\Dashboard::__construct PHP Method

__construct() public method

public __construct ( string $period, string $date, string | false $segment )
$period string
$date string
$segment string | false
    public function __construct($period, $date, $segment)
    {
        $sites = API::getInstance()->getAll($period, $date, $segment, $_restrictSitesToLogin = false, $enhanced = true, $searchTerm = false, $this->displayedMetricColumns);
        $sites->deleteRow(DataTable::ID_SUMMARY_ROW);
        /** @var DataTable $pastData */
        $pastData = $sites->getMetadata('pastData');
        $sites->filter(function (DataTable $table) use($pastData) {
            $pastRow = null;
            foreach ($table->getRows() as $row) {
                $idSite = $row->getColumn('label');
                $site = Site::getSite($idSite);
                // we cannot queue label and group as we might need them for search and sorting!
                $row->setColumn('label', $site['name']);
                $row->setMetadata('group', $site['group']);
                if ($pastData) {
                    // if we do not update the pastData labels, the evolution cannot be calculated correctly.
                    $pastRow = $pastData->getRowFromLabel($idSite);
                    if ($pastRow) {
                        $pastRow->setColumn('label', $site['name']);
                    }
                }
            }
            if ($pastData && $pastRow) {
                $pastData->setLabelsHaveChanged();
            }
        });
        $this->setSitesTable($sites);
    }