private function _copyDirectoryContent($sourcePath, $targetPath, $overwrite) { \jFile::createDir($targetPath); $dir = new \DirectoryIterator($sourcePath); foreach ($dir as $dirContent) { if ($dirContent->isFile()) { $p = $targetPath . substr($dirContent->getPathName(), strlen($dirContent->getPath())); if ($overwrite || !file_exists($p)) { copy($dirContent->getPathName(), $p); } } else { if (!$dirContent->isDot() && $dirContent->isDir()) { $newTarget = $targetPath . substr($dirContent->getPathName(), strlen($dirContent->getPath())); $this->_copyDirectoryContent($dirContent->getPathName(), $newTarget, $overwrite); } } } }