# media-cloud-sync/1.2.13/includes/sdk/s3/Aws/Token/ParsesIniTrait.php

Media Cloud Sync, version 1.2.13. 42 lines.

- Page: https://pluginprobe.com/plugins/media-cloud-sync/1.2.13/code/includes/sdk/s3/Aws/Token/ParsesIniTrait.php
- Raw: https://pluginprobe.com/plugins/media-cloud-sync/1.2.13/raw/includes/sdk/s3/Aws/Token/ParsesIniTrait.php
- Modified: 2025-08-17T07:09:48+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/media-cloud-sync/1.2.13/code/includes/sdk/s3/Aws/Token/ParsesIniTrait.php#L10-L20`.

```php
<?php

namespace Dudlewebs\WPMCS\s3\Aws\Token;

trait ParsesIniTrait
{
    /**
     * Gets profiles from specified $filename, or default ini files.
     */
    private static function loadProfiles($filename)
    {
        $profileData = \Dudlewebs\WPMCS\s3\Aws\parse_ini_file($filename, \true, \INI_SCANNER_RAW);
        $configFilename = self::getHomeDir() . '/.aws/config';
        if (\is_readable($configFilename)) {
            $configProfiles = \Dudlewebs\WPMCS\s3\Aws\parse_ini_file($configFilename, \true, \INI_SCANNER_RAW);
            $profileData = \array_merge($configProfiles, $profileData);
        }
        foreach ($profileData as $name => $profile) {
            // standardize config profile names
            $name = \str_replace('profile ', '', $name);
            $profileData[$name] = $profile;
        }
        return $profileData;
    }
    /**
     * Gets the environment's HOME directory if available.
     *
     * @return null|string
     */
    private static function getHomeDir()
    {
        // On Linux/Unix-like systems, use the HOME environment variable
        if ($homeDir = \getenv('HOME')) {
            return $homeDir;
        }
        // Get the HOMEDRIVE and HOMEPATH values for Windows hosts
        $homeDrive = \getenv('HOMEDRIVE');
        $homePath = \getenv('HOMEPATH');
        return $homeDrive && $homePath ? $homeDrive . $homePath : null;
    }
}

```
