HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/refonte2023/wordpress/wp-content/plugins/give/src/Tracking/TrackingData/ThemeData.php
<?php

namespace Give\Tracking\TrackingData;

use Give\Tracking\Contracts\TrackData;
use Give\Traits\HasWpTheme;
use WP_Theme;

/**
 * Class ThemeData
 *
 * Represents the theme data.
 *
 * @package Give\Tracking\TrackingData
 * @since 2.10.0
 */
class ThemeData implements TrackData
{
    use HasWpTheme;

    /**
     * Returns the collection data.
     *
     * @since 2.10.0
     *
     * @return array The collection data.
     */
    public function get()
    {
        $theme = wp_get_theme();
        $data = $this->formatData($theme);

        if ($this->isChildTheme($theme)) {
            $parentTheme = wp_get_theme($theme->offsetGet('Template'));
            $data = array_merge($data, $this->formatData($parentTheme, true));
        }

        return $data;
    }

    /**
     * Format theme data.
     *
     * @since 2.10.0
     *
     * @param WP_Theme $theme
     * @param bool     $parentTheme
     *
     * @return array
     */
    private function formatData($theme, $parentTheme = false)
    {
        $slugKey = 'theme_slug';
        $versionKey = 'theme_version';

        if ($parentTheme) {
            $slugKey = 'parent_theme_slug';
            $versionKey = 'parent_theme_version';
        }

        return [
            $slugKey => $theme->offsetGet('Stylesheet'),
            $versionKey => $theme->get('Version'),
        ];
    }
}