public static function removeDirectory($directory)
 {
     if (self::exists($directory)) {
         $dir = new self($directory);
         $dir->scan();
         $files = $dir->getFiles();
         foreach ($files as $file) {
             $file->remove();
         }
         $dirs = $dir->getDirectories();
         foreach ($dirs as $dir) {
             self::removeDirectory($dir);
         }
         return rmdir($directory);
     }
 }
Example #2
0
 /**
  * Got new status, delegate to subscanner.
  *
  * If the status returns a new status object, a new scanner is created to handle it.
  *
  * @param Scanner\Token[] $target
  * @param Scanner\Status $status
  * @return Scanner
  */
 private function _delegate(&$target, $status)
 {
     $scanner = new self($status);
     return $scanner->scan($target, $this->_buffer, $this->_offset);
 }