public function cpDir($source, $destination)
{
$source = $this->removeTrailingSlash($source);
$destination = $this->removeTrailingSlash($destination);
if (is_dir($source)) {
@mkdir($destination);
$directory = dir($source);
while (false !== ($readdirectory = $directory->read())) {
if ($readdirectory == '.' || $readdirectory == '..') {
continue;
}
$pathDir = $source . '/' . $readdirectory;
if (is_dir($pathDir)) {
$this->cpDir($pathDir, $destination . '/' . $readdirectory);
continue;
}
copy($pathDir, $destination . '/' . $readdirectory);
}
$directory->close();
} else {
copy($source, $destination);
}
}