modules()->enabled('usage')) { return $this->error(__('The Usage page is switched off. An administrator can switch it on in Tools → Extensions.', 'maze-graph'), 503); } $days = in_array((int) $request->input('days', 30), [7, 30, 90], true) ? (int) $request->input('days', 30) : 30; $site = $request->input('scope') === 'site' && current_user_can(Access::MANAGE); $report = $usage->report($days, $site ? 0 : $this->userId(), true); $people = []; foreach ($report['people'] as $row) { $user = get_userdata($row['user']); $people[] = ['name' => $user instanceof \WP_User ? $user->display_name : '#' . $row['user']] + array_diff_key($row, ['user' => 0]); } return $this->ok([ 'days' => $days, 'site' => $site, 'series' => $report['days'], 'models' => $report['models'], 'people' => $site ? $people : [], 'totals' => [ 'tokens_in' => array_sum(array_column($report['days'], 'tokens_in')), 'tokens_out' => array_sum(array_column($report['days'], 'tokens_out')), 'messages' => array_sum(array_column($report['days'], 'messages')), ], ]); } }