return Text::str2URL($path, '-', true);
}
+ protected function _destPath($path) {
+ return self::_cleanInstallDir($path);
+ }
+
/**
* @param $source string
* @param $dest string
* @param $mirror bool
+ * @param $dryrun bool
* @return CommandLine
*/
- abstract public function copy($source, $dest, $mirror = false);
+ abstract public function copy($source, $dest, $mirror = false, $dryrun = false);
}
\ No newline at end of file
namespace Cubist\Net\Transfer;
-class FTP extends Driver {
+use Cubist\Util\CommandLine\LFTP;
+use Cubist\Util\CommandLine\Rclone;
- public function copy($source, $dest, $mirror = false) {
- // TODO: Implement copy() method.
+class FTP extends Driver {
+ public function copy($source, $dest, $mirror = false, $dryrun = false) {
+ $lftp = new LFTP();
+ $lftp->setSrc($source);
+ $lftp->setDest($dest);
+ $lftp->setMirror($mirror);
+ $lftp->setServer($this->getServer());
+ $lftp->setDryRun($dryrun);
+ $lftp->execute();
+ return $lftp;
}
}
\ No newline at end of file
return rtrim($this->getBasePath(), '/') . '/' . self::_cleanInstallDir($path) . '/';
}
- public function copy($source, $dest, $mirror = false) {
- $destPath = $this->_destPath($dest);
- $rsync = new Rsync($source, $destPath);
+ public function copy($source, $dest, $mirror = false, $dryrun = false) {
+ $rsync = new Rsync($source, $dest);
$rsync->setMirror($mirror);
- $rsync->setDryRun(true);
+ $rsync->setDryRun($dryrun);
$rsync->execute();
return $rsync;
}
class SFTP extends Driver {
- public function copy($source, $dest, $mirror = false) {
- $server=$this->getServer();
-
- $destPath = $this->_destPath($dest);
+ public function copy($source, $dest, $mirror = false, $dryrun = false) {
$rclone = new Rclone();
- $rclone->setProtocol('sftp');
+ $rclone->setServer($this->getServer());
$rclone->setSrc($source);
- $rclone->setDest($destPath);
+ $rclone->setDest($dest);
$rclone->setMirror($mirror);
- $rclone->setProtocol('sftp');
- $rclone->addRcloneArg('sftp-host',$server->getHost());
- $rclone->addRcloneArg('sftp-port',$server->getPort());
- $rclone->addRcloneArg('sftp-user',$server->getUsername());
- $rclone->addRcloneArg('sftp-pass',$server->getPassword());
- $rclone->setDryRun(true);
+ $rclone->setDryRun($dryrun);
$rclone->execute();
return $rclone;
}