File size: 1.12Kb
<?php
declare(strict_types=1);
namespace App\Commands;
use Phinx\Console\Command\AbstractCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Filesystem\Filesystem;
class AppPermission extends AbstractCommand
{
/**
* {@inheritdoc}
*/
protected function configure(): void
{
parent::configure();
$this->setName('app:permission')
->setDescription('Set file permissions');
}
/**
* Set permissions
*
* @param InputInterface $input
* @param OutputInterface $output
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output): int
{
$storage = glob(STORAGE . '/*', GLOB_ONLYDIR);
$uploads = glob(UPLOADS . '/*', GLOB_ONLYDIR);
$modules = [HOME . '/assets/modules'];
$dirs = array_merge($storage, $uploads, $modules);
$filesystem = new Filesystem();
$filesystem->chmod($dirs, 0777);
$output->writeln('<info>Permissions set successfully.</info>');
return 0;
}
}