protected function createUndoFile()
{
// The generated files
$generatedFiles = [];
// Scan folders for generated files
foreach (['app', 'database/migrations'] as $folder) {
// For every file inside this folder
foreach ($this->filesystem->files($folder) as $file) {
// If lastModified time of this file is greater or equal to $this->startTime
if ($this->filesystem->lastModified($file) >= $this->startTime) {
// Add this file to our generated files array
$generatedFiles[] = $file;
}
}
}
// If we do not have any generated files
if (empty($generatedFiles)) {
// Show error message and end method execution
$this->error('No generated files created');
return;
}
// Output generated files to console
$this->info("The following files have been created:");
foreach ($generatedFiles as $generatedFile) {
$this->info(" {$generatedFile}");
}
// Save $generatedFiles to undo file if directory is writeable
if ($this->filesystem->isWritable($this->filePathDirectory)) {
// Write undo json file
$this->filesystem->put($this->undoFilePath, json_encode($generatedFiles, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
} else {
// Show error that file could not be created
$this->error('Could not create undo file, not enough permissions perhaps?: ' . $this->undoFilePath);
}
}