[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.145.45.114: ~ $
<?php
declare(strict_types=1);

namespace PhpList\Core\Core;

/**
 * This class provides information about the current application and its file structure.
 *
 * @author Oliver Klee <oliver@phplist.com>
 */
class ApplicationStructure
{
    /**
     * Returns the absolute path to the core package root.
     *
     * @return string the absolute path without the trailing slash.
     *
     * @throws \RuntimeException if there is no composer.json in the application root
     */
    public function getCorePackageRoot(): string
    {
        return dirname(__DIR__, 2);
    }

    /**
     * Returns the absolute path to the application root.
     *
     * When core is installed as a dependency (library) of an application, this method will return
     * the application's package path.
     *
     * When phpList4-core is installed stand-alone (i.e., as an application - usually only for testing),
     * this method will be the phpList4-core package path.
     *
     * @return string the absolute path without the trailing slash
     *
     * @throws \RuntimeException if there is no composer.json in the application root
     */
    public function getApplicationRoot(): string
    {
        $corePackagePath = $this->getCorePackageRoot();
        $corePackageIsRootPackage = interface_exists('PhpList\\Core\\Tests\\Support\\Interfaces\\TestMarker');
        if ($corePackageIsRootPackage) {
            $applicationRoot = $corePackagePath;
        } else {
            // remove 3 more path segments, i.e., "vendor/phplist/core/"
            $corePackagePath = dirname($corePackagePath, 3);
            $applicationRoot = $corePackagePath;
        }

        if (!file_exists($applicationRoot . '/composer.json')) {
            throw new \RuntimeException(
                'There is no composer.json in the supposed application root "' . $applicationRoot . '".',
                1501169001
            );
        }

        return $applicationRoot;
    }
}

Filemanager

Name Type Size Permission Actions
ApplicationKernel.php File 4.75 KB 0644
ApplicationStructure.php File 1.92 KB 0644
Bootstrap.php File 7.79 KB 0644
Environment.php File 1.6 KB 0644