. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Classes\ConsoleCommands; use Espo\Core\Console\Command; use Espo\Core\Console\Command\Params; use Espo\Core\Console\IO; use Espo\Core\Utils\File\Manager as FileManager; use Espo\Core\Utils\System; use Espo\Core\Utils\Util; /** * @noinspection PhpUnused */ class CheckFilePermissions implements Command { public function __construct( private FileManager $fileManager, private System $system ) {} public function run(Params $params, IO $io): void { $io->writeLine("\nNote: Run this command under the web server user.\n"); $io->writeLine('Writable:'); $io->writeLine(''); foreach ($this->fileManager->getPermissionUtils()->getWritableList() as $path) { $fullPath = Util::concatPath($this->system->getRootDir(), $path); $isWritable = $this->fileManager->isWritable($fullPath); $msg = " " . ($isWritable ? "OK" : "FAIL") . " : $path"; $io->writeLine($msg); } } }