exists($root . '/'. $dir)) { $fs->mkdir($root . '/'. $dir); $fs->touch($root . '/'. $dir . '/.gitkeep'); } } // Create the files directory with chmod 0777 if (!$fs->exists($root . '/wp-content/uploads')) { $oldmask = umask(0); $fs->mkdir($root . '/wp-content/uploads', 0777); umask($oldmask); $event->getIO()->write("Create a wp-content/uploads directory with chmod 0777"); } } // This is called by the QuickSilver deploy hook to convert from // a 'lean' repository to a 'fat' repository. This should only be // called when using this repository as a custom upstream, and // updating it with `terminus composer . update`. This // is not used in the GitHub PR workflow. public static function prepareForPantheon() { // Get rid of any .git directories that Composer may have added. // n.b. Ideally, there are none of these, as removing them may // impair Composer's ability to update them later. However, leaving // them in place prevents us from pushing to Pantheon. $dirsToDelete = []; $finder = new Finder(); foreach ( $finder ->directories() ->in(getcwd()) ->ignoreDotFiles(false) ->ignoreVCS(false) ->depth('> 0') ->name('.git') as $dir) { $dirsToDelete[] = $dir; } $fs = new Filesystem(); $fs->remove($dirsToDelete); // Fix up .gitignore: remove everything above the "::: cut :::" line $gitignoreFile = getcwd() . '/.gitignore'; $gitignoreContents = file_get_contents($gitignoreFile); $gitignoreContents = preg_replace('/.*::: cut :::*/s', '', $gitignoreContents); file_put_contents($gitignoreFile, $gitignoreContents); } }