#!/usr/bin/env php * * This file is part of a Moko Consulting project. * * SPDX-License-Identifier: GPL-3.0-or-later * * FILE INFORMATION * DEFGROUP: MokoPlatform.Scripts.Fix * INGROUP: MokoPlatform * REPO: https://git.mokoconsulting.tech/MokoConsulting/moko-platform * PATH: /fix/fix_permissions.php * BRIEF: CLI script to normalise file permissions (dirs 755, files 644, scripts 755) */ declare(strict_types=1); require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/../lib/Enterprise/CliFramework.php'; use MokoEnterprise\CliFramework; use MokoEnterprise\FileFixUtility; class FixPermissions extends CliFramework { protected function configure(): void { $this->setDescription('Normalise file permissions (dirs 755, files 644, scripts 755)'); $this->addArgument('--path', 'Repository root (default: current directory)', '.'); } protected function run(): int { $path = (string) $this->getArgument('--path'); if ($this->dryRun) { $this->log('WARNING', 'Would fix permissions (dirs 755, files 644, scripts 755)'); return self::EXIT_SUCCESS; } FileFixUtility::fixPermissions($path, $this->dryRun); $this->log('SUCCESS', 'Permissions fixed'); return self::EXIT_SUCCESS; } } $app = new FixPermissions(); exit($app->execute());