Registry::int_param( $params, 'limit', 25, 1, 100 ), 'offset' => Registry::int_param( $params, 'offset', 0, 0, 10000 ), 'since_minutes' => Registry::int_param( $params, 'since_minutes', 1440, 1, 10080 ), ); } public function execute( array $params, float $deadline ): array { $list = get_option( ErrorHooks::OPTION_LOCAL_ERRORS, array() ); $list = is_array( $list ) ? $list : array(); $since = time() - $params['since_minutes'] * 60; $items = array_values( array_filter( $list, static fn( mixed $e ): bool => is_array( $e ) && (int) ( $e['at'] ?? 0 ) >= $since ) ); usort( $items, static fn( array $a, array $b ): int => (int) $b['at'] <=> (int) $a['at'] ); $page = array_slice( $items, $params['offset'], $params['limit'] ); foreach ( $page as &$e ) { $e['at'] = gmdate( 'Y-m-d\TH:i:s\Z', (int) $e['at'] ); } return array( 'items' => $page, 'total' => count( $items ), 'since_minutes' => $params['since_minutes'], 'note' => 'Errors observed by the agent (fatal shutdown errors and Action Scheduler failures); not a full PHP error log.' ); } }