protected function duplicate($args)
{
$targets = is_array($args['targets']) ? $args['targets'] : array();
$result = array('added' => array());
$suffix = empty($args['suffix']) ? 'copy' : $args['suffix'];
foreach ($targets as $target) {
elFinder::extendTimeLimit();
if (($volume = $this->volume($target)) == false || ($src = $volume->file($target)) == false) {
$result['warning'] = $this->error(self::ERROR_COPY, '#' . $target, self::ERROR_FILE_NOT_FOUND);
break;
}
if (($file = $volume->duplicate($target, $suffix)) == false) {
$result['warning'] = $this->error($volume->error());
break;
}
$result['added'][] = $file;
}
return $result;
}