projects
/
pharext
/
pharext
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
consistent verbosity
[pharext/pharext]
/
src
/
pharext
/
Task
/
Cleanup.php
diff --git
a/src/pharext/Task/Cleanup.php
b/src/pharext/Task/Cleanup.php
index 1263bd966e33f0399dac123c2d9e6a401996ed15..3684806e62094c91f38a73ae8ad962d4510c7424 100644
(file)
--- a/
src/pharext/Task/Cleanup.php
+++ b/
src/pharext/Task/Cleanup.php
@@
-26,14
+26,20
@@
class Cleanup implements Task
* @param bool $verbose
*/
public function run($verbose = false) {
* @param bool $verbose
*/
public function run($verbose = false) {
- if (is_dir($this->rm)) {
+ if ($verbose) {
+ printf("Cleaning up %s ...\n", $this->rm);
+ }
+ if ($this->rm instanceof Tempfile) {
+ unset($this->rm);
+ } elseif (is_dir($this->rm)) {
$rdi = new RecursiveDirectoryIterator($this->rm,
$rdi = new RecursiveDirectoryIterator($this->rm,
- FilesystemIterator::CURRENT_AS_PATHNAME |
+ FilesystemIterator::CURRENT_AS_SELF | // needed for 5.5
+ FilesystemIterator::KEY_AS_PATHNAME |
FilesystemIterator::SKIP_DOTS);
$rii = new RecursiveIteratorIterator($rdi,
RecursiveIteratorIterator::CHILD_FIRST);
FilesystemIterator::SKIP_DOTS);
$rii = new RecursiveIteratorIterator($rdi,
RecursiveIteratorIterator::CHILD_FIRST);
- foreach ($rii as $path) {
- if ($
rii
->isDir()) {
+ foreach ($rii as $path
=> $child
) {
+ if ($
child
->isDir()) {
rmdir($path);
} else {
unlink($path);
rmdir($path);
} else {
unlink($path);