Author: Shivam Mathur (shivammathur) Date: 2024-10-07T20:15:00+05:30 Commit: https://github.com/php/web-downloads/commit/c61433a73612c02115e8ed8e535e4379de4a0642 Raw diff: https://github.com/php/web-downloads/commit/c61433a73612c02115e8ed8e535e4379de4a0642.diff
Remove env support and use getenv directly Environment variables will be configured directly in the Apache config, so we do not need .env file Changed paths: D .env.example D .gitignore D composer.json D composer.lock M README.md M bootstrap.php M public/index.php M src/Auth.php M src/PeclHandler.php M src/PhpHandler.php M src/WinlibsHandler.php Diff: diff --git a/.env.example b/.env.example deleted file mode 100644 index 68c7f6f..0000000 --- a/.env.example +++ /dev/null @@ -1,2 +0,0 @@ -AUTH_TOKEN= -BUILDS_DIRECTORY= \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3d5163b..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/vendor/ -.env diff --git a/README.md b/README.md index 0254061..3d2cf3c 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,6 @@ This project is a collection of scripts to handle downloading builds to the down ## Set up -- Copy `env.example` to `.env` and set the `AUTH_TOKEN` and `BUILDS_DIRECTORY` values. - -- Install dependencies. - -```bash -composer install -``` - - Set up a virtual host in Apache to point to the `public` directory as the `DocumentRoot`. - Set up the `ErrorDocument` for 404 to point to `public/redirect.php` in the virtual host configuration. diff --git a/bootstrap.php b/bootstrap.php index 54248d2..4c219e9 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -1,10 +1,3 @@ <?php -require_once __DIR__.'/vendor/autoload.php'; - -use Dotenv\Dotenv; - -$dotenv = Dotenv::createImmutable(__DIR__); -$dotenv->load(); - require_once __DIR__.'/routes.php'; diff --git a/composer.json b/composer.json deleted file mode 100644 index d5eb926..0000000 --- a/composer.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "php/web-downloads", - "description": "Scripts for downloads.php.net", - "type": "project", - "license": "MIT", - "autoload": { - "psr-4": { - "App\\": "src/" - } - }, - "require": { - "php": "^8.2", - "vlucas/phpdotenv": "^5.6.1", - "ext-curl": "*", - "ext-zip": "*", - "ext-fileinfo": "*" - } -} diff --git a/composer.lock b/composer.lock deleted file mode 100644 index f354f58..0000000 --- a/composer.lock +++ /dev/null @@ -1,484 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "86fdb4a7f08015412baf414833597905", - "packages": [ - { - "name": "graham-campbell/result-type", - "version": "v1.1.3", - "source": { - "type": "git", - "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" - }, - "type": "library", - "autoload": { - "psr-4": { - "GrahamCampbell\\ResultType\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "he...@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "An Implementation Of The Result Type", - "keywords": [ - "Graham Campbell", - "GrahamCampbell", - "Result Type", - "Result-Type", - "result" - ], - "support": { - "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", - "type": "tidelift" - } - ], - "time": "2024-07-20T21:45:45+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.9.3", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", - "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - }, - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmitt...@gmail.com", - "homepage": "https://github.com/schmittjoh" - }, - { - "name": "Graham Campbell", - "email": "he...@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2024-07-20T21:41:07+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "backend...@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T15:07:36+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p...@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-19T12:30:46+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.ba...@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p...@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T15:07:36+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v5.6.1", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.3", - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-filter": "*", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator." - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - }, - "branch-alias": { - "dev-master": "5.6-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "he...@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Vance Lucas", - "email": "va...@vancelucas.com", - "homepage": "https://github.com/vlucas" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2024-07-20T21:52:34+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^8.2", - "ext-curl": "*", - "ext-zip": "*", - "ext-fileinfo": "*" - }, - "platform-dev": [], - "plugin-api-version": "2.6.0" -} diff --git a/public/index.php b/public/index.php index f2fe731..5882b78 100644 --- a/public/index.php +++ b/public/index.php @@ -1,7 +1,4 @@ <?php -// Register the Composer autoloader... -require_once __DIR__.'/../vendor/autoload.php'; - // Init require_once __DIR__ . '/../bootstrap.php'; diff --git a/src/Auth.php b/src/Auth.php index 26dd4b6..1ade3e1 100644 --- a/src/Auth.php +++ b/src/Auth.php @@ -9,6 +9,6 @@ public function authenticate(): bool $authHeader = $_SERVER['HTTP_AUTHORIZATION'] ?? ''; $authToken = str_replace('Bearer ', '', $authHeader); - return $authToken === $_ENV['AUTH_TOKEN']; + return $authToken === getenv('AUTH_TOKEN'); } } diff --git a/src/PeclHandler.php b/src/PeclHandler.php index 03bb7eb..4329f45 100644 --- a/src/PeclHandler.php +++ b/src/PeclHandler.php @@ -51,7 +51,7 @@ private function fetchExtension(string $extension, string $ref, string $url, str throw new Exception('Failed to fetch the extension'); } - $destinationDirectory = $_ENV['BUILDS_DIRECTORY'] . "/pecl/releases"; + $destinationDirectory = getenv('BUILDS_DIRECTORY') . "/pecl/releases"; if(!is_dir($destinationDirectory)) { mkdir($destinationDirectory, 0755, true); diff --git a/src/PhpHandler.php b/src/PhpHandler.php index 1c02964..7c9a1d0 100644 --- a/src/PhpHandler.php +++ b/src/PhpHandler.php @@ -85,7 +85,7 @@ private function getDestinationDirectory(string $tempDirectory): string $testPackFile = basename(glob($tempDirectory . '/php-test-pack-*.zip')[0]); $testPackFileName = str_replace('.zip', '', $testPackFile); $version = explode('-', $testPackFileName)[3]; - return $_ENV['BUILDS_DIRECTORY'] . (preg_match('/^\d+\.\d+\.\d+$/', $version) ? '/releases' : '/qa'); + return getenv('BUILDS_DIRECTORY') . (preg_match('/^\d+\.\d+\.\d+$/', $version) ? '/releases' : '/qa'); } /** @@ -177,7 +177,7 @@ private function generateListing(string $directory): void } $this->updateReleasesJson($releases, $directory); - if($directory === $_ENV['BUILDS_DIRECTORY'] . '/releases') { + if($directory === getenv('BUILDS_DIRECTORY') . '/releases') { $this->updateLatestBuilds($releases, $directory); } } diff --git a/src/WinlibsHandler.php b/src/WinlibsHandler.php index d7177ac..4625c10 100644 --- a/src/WinlibsHandler.php +++ b/src/WinlibsHandler.php @@ -61,7 +61,7 @@ private function parseFiles(array $files): array private function copyFiles(array $files, $library, $ref, $vs_version_targets): void { - $baseDirectory = $_ENV['BUILDS_DIRECTORY'] . "/php-sdk/deps"; + $baseDirectory = getenv('BUILDS_DIRECTORY') . "/php-sdk/deps"; if(!is_dir($baseDirectory)) { mkdir($baseDirectory, 0755, true); } @@ -81,7 +81,7 @@ private function updateSeriesFiles($files, $library, $ref, $php_versions, $vs_ve $vs_version_targets = explode(',', $vs_version_targets); $stability_values = explode(',', $stability); - $baseDirectory = $_ENV['BUILDS_DIRECTORY'] . "/php-sdk/deps/series"; + $baseDirectory = getenv('BUILDS_DIRECTORY') . "/php-sdk/deps/series"; foreach ($php_versions as $php_version) { foreach ($vs_version_targets as $vs_version_target) {