diff --git a/apps/files_external/lib/sftp.php b/apps/files_external/lib/sftp.php index 572829f0fd..c37663c4f8 100644 --- a/apps/files_external/lib/sftp.php +++ b/apps/files_external/lib/sftp.php @@ -43,8 +43,9 @@ class SFTP extends \OC\Files\Storage\Common { */ protected $client; - private static $tempFiles = array(); - + /** + * {@inheritdoc} + */ public function __construct($params) { // Register sftp:// \Net_SFTP_Stream::register(); @@ -100,6 +101,9 @@ class SFTP extends \OC\Files\Storage\Common { return $this->client; } + /** + * {@inheritdoc} + */ public function test() { if ( !isset($this->host) @@ -111,29 +115,45 @@ class SFTP extends \OC\Files\Storage\Common { return $this->getConnection()->nlist() !== false; } + /** + * {@inheritdoc} + */ public function getId(){ return 'sftp::' . $this->user . '@' . $this->host . '/' . $this->root; } + /** + * @return string + */ public function getHost() { return $this->host; } + /** + * @return string + */ public function getRoot() { return $this->root; } + /** + * @return mixed + */ public function getUser() { return $this->user; } /** * @param string $path + * @return string */ private function absPath($path) { return $this->root . $this->cleanPath($path); } + /** + * @return bool|string + */ private function hostKeysPath() { try { $storage_view = \OCP\Files::getStorage('files_external'); @@ -147,6 +167,10 @@ class SFTP extends \OC\Files\Storage\Common { return false; } + /** + * @param $keys + * @return bool + */ protected function writeHostKeys($keys) { try { $keyPath = $this->hostKeysPath(); @@ -163,6 +187,9 @@ class SFTP extends \OC\Files\Storage\Common { return false; } + /** + * @return array + */ protected function readHostKeys() { try { $keyPath = $this->hostKeysPath(); @@ -186,6 +213,9 @@ class SFTP extends \OC\Files\Storage\Common { return array(); } + /** + * {@inheritdoc} + */ public function mkdir($path) { try { return $this->getConnection()->mkdir($this->absPath($path)); @@ -194,6 +224,9 @@ class SFTP extends \OC\Files\Storage\Common { } } + /** + * {@inheritdoc} + */ public function rmdir($path) { try { return $this->getConnection()->delete($this->absPath($path), true); @@ -202,6 +235,9 @@ class SFTP extends \OC\Files\Storage\Common { } } + /** + * {@inheritdoc} + */ public function opendir($path) { try { $list = $this->getConnection()->nlist($this->absPath($path)); @@ -223,6 +259,9 @@ class SFTP extends \OC\Files\Storage\Common { } } + /** + * {@inheritdoc} + */ public function filetype($path) { try { $stat = $this->getConnection()->stat($this->absPath($path)); @@ -239,6 +278,9 @@ class SFTP extends \OC\Files\Storage\Common { return false; } + /** + * {@inheritdoc} + */ public function file_exists($path) { try { return $this->getConnection()->stat($this->absPath($path)) !== false; @@ -247,6 +289,9 @@ class SFTP extends \OC\Files\Storage\Common { } } + /** + * {@inheritdoc} + */ public function unlink($path) { try { return $this->getConnection()->delete($this->absPath($path), true); @@ -255,6 +300,9 @@ class SFTP extends \OC\Files\Storage\Common { } } + /** + * {@inheritdoc} + */ public function fopen($path, $mode) { try { $absPath = $this->absPath($path); @@ -284,6 +332,9 @@ class SFTP extends \OC\Files\Storage\Common { return false; } + /** + * {@inheritdoc} + */ public function touch($path, $mtime=null) { try { if (!is_null($mtime)) { @@ -300,14 +351,27 @@ class SFTP extends \OC\Files\Storage\Common { return true; } + /** + * @param string $path + * @param string $target + * @throws \Exception + */ public function getFile($path, $target) { $this->getConnection()->get($path, $target); } + /** + * @param string $path + * @param string $target + * @throws \Exception + */ public function uploadFile($path, $target) { $this->getConnection()->put($target, $path, NET_SFTP_LOCAL_FILE); } + /** + * {@inheritdoc} + */ public function rename($source, $target) { try { if (!$this->is_dir($target) && $this->file_exists($target)) { @@ -322,6 +386,9 @@ class SFTP extends \OC\Files\Storage\Common { } } + /** + * {@inheritdoc} + */ public function stat($path) { try { $stat = $this->getConnection()->stat($this->absPath($path)); @@ -337,6 +404,7 @@ class SFTP extends \OC\Files\Storage\Common { /** * @param string $path + * @return string */ public function constructUrl($path) { // Do not pass the password here. We want to use the Net_SFTP object