protected function archive($args)
{
$type = $args['type'];
$targets = isset($args['targets']) && is_array($args['targets']) ? $args['targets'] : array();
$name = isset($args['name']) ? $args['name'] : '';
if (($volume = $this->volume($targets[0])) == false) {
return $this->error(self::ERROR_ARCHIVE, self::ERROR_TRGDIR_NOT_FOUND);
}
return ($file = $volume->archive($targets, $args['type'], $name)) ? array('added' => array($file)) : array('error' => $this->error(self::ERROR_ARCHIVE, $volume->error()));
}