✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ webm004.cluster127.gra.hosting.ovh.net ​🇻​♯➤ 6.18.42-ovh-vps-grsec-zfs+ #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 54.36.91.62 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.42
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ _dyuweyrj4,_dyuweyrj4r,dl

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/docteuh/www/plugins//VulnerabilitySnapshotDto.php
<?php

declare(strict_types=1);

namespace ReallySimplePlugins\RSS\Core\Features\Vulnerability\Dtos;

use ReallySimplePlugins\RSS\Core\Support\Helpers\Storage;

/**
 * Immutable data transfer object representing a vulnerability snapshot summary.
 *
 * A snapshot captures the aggregated vulnerability state of the system at a
 * specific point in time. It is used to:
 * - Compare the current state against a previously stored snapshot.
 * - Decide whether notifications should be sent (via policy logic).
 * - Persist historical state for idempotent scheduled runs.
 *
 * This DTO contains data only:
 * - No business logic
 * - No persistence logic
 * - No scheduling concerns
 */
final class VulnerabilitySnapshotDto
{
    /**
     * Highest severity label present in the snapshot (or null if none).
     */
    private ?string $highestSeverity;

    /**
     * Normalized numeric severity score used for comparisons.
     */
    private int $severityScore;

    /**
     * Total number of vulnerable components.
     */
    private int $vulnerableCount;

    /**
     * Number of vulnerable components with updates available.
     */
    private int $updatableComponents;

    /**
     * UNIX timestamp when the snapshot was generated.
     */
    private int $generatedAt;

    public function __construct(
        ?string $highestSeverity,
        int $severityScore,
        int $vulnerableCount,
        int $updatableComponents,
        int $generatedAt
    ) {
        $this->highestSeverity = $highestSeverity;
        $this->severityScore = $severityScore;
        $this->vulnerableCount = $vulnerableCount;
        $this->updatableComponents = $updatableComponents;
        $this->generatedAt = $generatedAt;
    }

    /**
     * Returns the highest severity label present in the snapshot (or null if none).
     */
    public function getHighestSeverity(): ?string
    {
        return $this->highestSeverity;
    }

    /**
     * Returns the normalized numeric severity score used for comparisons.
     */
    public function getSeverityScore(): int
    {
        return $this->severityScore;
    }

    /**
     * Returns the total number of vulnerable components.
     */
    public function getVulnerableCount(): int
    {
        return $this->vulnerableCount;
    }

    /**
     * Returns the number of vulnerable components with updates available.
     */
    public function getUpdatableComponents(): int
    {
        return $this->updatableComponents;
    }

    /**
     * Returns the UNIX timestamp when the snapshot was generated.
     */
    public function getGeneratedAt(): int
    {
        return $this->generatedAt;
    }

    /**
     * Returns an array representation of the snapshot intended for persistence (options/storage).
     *
     * The array shape is stable and versioned implicitly by the DTO.
     *
     * @return array{
     *     highestSeverity: ?string,
     *     severityScore: int,
     *     vulnerableCount: int,
     *     updatableComponents: int,
     *     generatedAt: int
     * }
     */
    public function toArray(): array
    {
        return [
            'highestSeverity' => $this->highestSeverity,
            'severityScore' => $this->severityScore,
            'vulnerableCount' => $this->vulnerableCount,
            'updatableComponents' => $this->updatableComponents,
            'generatedAt' => $this->generatedAt,
        ];
    }

    /**
     * Rebuilds a snapshot DTO from persisted storage.
     *
     * Missing keys are handled defensively via the Storage helper.
     *
     * @param array<string, mixed> $data
     */
    public static function fromArray(array $data): self
    {
        $storage = new Storage($data);
        return new self(
            $storage->getString('highestSeverity'),
            $storage->getInt('severityScore'),
            $storage->getInt('vulnerableCount'),
            $storage->getInt('updatableComponents'),
            $storage->getInt('generatedAt'),
        );
    }
}


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
11 Sep 2026 6.47 PM
docteuh / users
0777
Dtos
--
4 Sep 2026 1.53 AM
docteuh / users
0755
Log
--
11 Sep 2026 6.49 AM
docteuh / users
0755
apiclient
--
8 Sep 2026 10.50 PM
docteuh / users
0755
application
--
10 Sep 2026 4.27 AM
docteuh / users
0755
components
--
4 Sep 2026 4.11 AM
docteuh / users
0755
content-type-visibility
--
31 Aug 2026 1.13 PM
docteuh / users
0755
dist
--
4 Sep 2026 3.26 AM
docteuh / users
0755
dynamic
--
11 Sep 2026 11.17 AM
docteuh / users
0755
infrastructure
--
4 Sep 2026 12.45 AM
docteuh / users
0755
js
--
11 Sep 2026 6.45 AM
docteuh / users
0755
languages
--
10 Sep 2026 12.58 PM
docteuh / users
0755
plugins
--
10 Sep 2026 6.21 AM
docteuh / users
0755
seo-pro
--
9 Sep 2026 4.40 AM
docteuh / users
0755
socket-fossil
--
9 Sep 2026 5.49 AM
docteuh / users
0755
tokens
--
4 Sep 2026 12.48 AM
docteuh / users
0755
wordpress-seo
--
4 Sep 2026 2.27 AM
docteuh / users
0755
VulnerabilitySnapshotDto.php
3.905 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
about-release-badge.svg
4.144 KB
21 May 2026 2.34 PM
docteuh / users
0644
class-admin-20260830233222.php
12.73 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
class-admin.php
12.73 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
class-capability-manager.php
0.855 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
class-certificate.php
7.388 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
class-progress.php
4.24 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
code-generator.php
0.64 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
diffDOM.js
63.113 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
feature-flag-integration.php
2.932 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
functions.php
0.681 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
fusion-builder.php
1.876 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
icon-redirect-manager-20260827192224-20260829103225-20260831111900-20260901204506.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260827192224.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260828145706.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260829050506-20260830004210-20260830004247-20260830005923-20260830051301.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
index-command.php
9.929 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
index.php
0.027 KB
5 Jun 2014 5.59 PM
docteuh / users
0644
loader.php
6.886 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
main-20260831040242.php
1.824 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
main-20260831194246.php
1.824 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
max-sh-cbp-woo-quick-view.min.css
0.198 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
options-20260903235431.php
1.865 KB
18 Jun 2024 3.06 AM
docteuh / users
0644
options.php
1.865 KB
18 Jun 2024 3.06 AM
docteuh / users
0644
plugin-headers.php
0.723 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
string-helper.php
1.189 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
tool-import-export-20260831145638.php
4.199 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
uninstall-20260828010004.php
3.406 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
uninstall-20260831092403.php
3.406 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
uninstall.php
3.406 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
webpack.config-20260829203431.js
0.623 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
webpack.config.js
0.623 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
woocommerce-version-conditional.php
0.634 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
wp-seo-main.php
17.215 KB
23 Jun 2026 6.20 PM
docteuh / users
0644
xmlrpc.php
1.223 KB
23 Jun 2026 6.19 PM
docteuh / users
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF