]> _ Git - cubist_net.git/commitdiff
wip #3753
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 3 Dec 2020 12:49:18 +0000 (13:49 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 3 Dec 2020 12:49:18 +0000 (13:49 +0100)
composer.json
src/Cubist/Net/SSH2.php [deleted file]
src/SSH2.php [new file with mode: 0644]

index f65f7149362610ab4e1538887678567125a29840..530dc199b538b9ac7565ced3d660b6dd8965f83c 100644 (file)
@@ -11,8 +11,8 @@
     }
   ],
   "autoload": {
-    "psr-0": {
-      "Cubist\\Net": "src\/"
+    "psr-4": {
+      "Cubist\\Net\\": "src"
     }
   },
   "authors": [
diff --git a/src/Cubist/Net/SSH2.php b/src/Cubist/Net/SSH2.php
deleted file mode 100644 (file)
index 9d4ff2f..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-
-namespace Cubist\Net;
-class SSH2
-{
-
-       protected $_host;
-       protected $_username;
-       protected $_password;
-       protected $_port = 22;
-       protected $_key = null;
-       protected $_connection = null;
-       protected $_sftp = null;
-
-       public function __construct($host, $username, $password, $port = 22)
-       {
-               $this->setHost($host)
-                       ->setUsername($username)
-                       ->setPassword($password)
-                       ->setPort($port);
-       }
-
-       public function getHost()
-       {
-               return $this->_host;
-       }
-
-       public function getUsername()
-       {
-               return $this->_username;
-       }
-
-       public function getPassword()
-       {
-               return $this->_password;
-       }
-
-       public function getPort()
-       {
-               return $this->_port;
-       }
-
-       public function setPort($port)
-       {
-               $this->_port = $port;
-               return $this;
-       }
-
-       public function setHost($host)
-       {
-               $this->_host = $host;
-               return $this;
-       }
-
-       public function setUsername($username)
-       {
-               $this->_username = $username;
-               return $this;
-       }
-
-       public function setPassword($password)
-       {
-               $this->_password = $password;
-               return $this;
-       }
-
-       public function _connect()
-       {
-               if (is_null($this->_connection)) {
-                       $this->_connection = ssh2_connect($this->getHost(), $this->getPort());
-                       ssh2_auth_password($this->_connection, $this->getUsername(), $this->getPassword());
-               }
-               return $this->_connection;
-       }
-
-       public function getSFTPConnection()
-       {
-               if (is_null($this->_sftp)) {
-                       $this->_connect();
-                       $this->_sftp = ssh2_sftp($this->_connection);
-               }
-               return $this->_sftp;
-       }
-
-       public function getSFTPWrapper()
-       {
-               return 'ssh2.sftp://' . $this->getSFTPConnection() . '/';
-       }
-
-       public function filePutContents($filename, $data)
-       {
-               $dir = dirname($filename);
-               $this->mkdir($dir);
-               file_put_contents($this->_filename($filename), $data);
-       }
-
-       public function fileGetContents($filename)
-       {
-               return file_get_contents($this->_filename($filename));
-       }
-
-       public function fileReplaceContents($string, $replacement, $filename)
-       {
-               $contents = $this->fileGetContents($filename);
-               file_put_contents('/tmp/get', $contents);
-               $contents = str_replace($string, $replacement, $contents);
-               file_put_contents('/tmp/replaced', $string . "\n\n" . $replacement . "\n\n" . $contents);
-               $this->filePutContents($filename, $contents);
-       }
-
-       protected function _filename($filename)
-       {
-               return $this->getSFTPWrapper() . ltrim($this->_escapeCygwin($filename), '/');
-       }
-
-       public function filesize($filename)
-       {
-               return filesize($this->_filename($filename));
-       }
-
-       public function file_exists($filename)
-       {
-               return file_exists($this->_filename($filename));
-       }
-
-       public function mkdir($dirname, $mode = 0777, $recursive = true)
-       {
-               if (!$this->file_exists($dirname)) {
-                       return ssh2_sftp_mkdir($this->getSFTPConnection(), $dirname, $mode, $recursive);
-               }
-               return true;
-       }
-
-       public function exec($commande)
-       {
-               // http://www.php.net/manual/fr/function.ssh2-exec.php#99089
-               $stream = ssh2_exec($this->_connect(), $commande);
-               $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
-
-               // Enable blocking for both streams
-               stream_set_blocking($errorStream, true);
-               stream_set_blocking($stream, true);
-
-               // Whichever of the two below commands is listed first will receive its appropriate output.  The second command receives nothing
-               $res = array('output' => stream_get_contents($stream),
-                       'error' => stream_get_contents($errorStream));
-
-               // Close the streams
-               fclose($errorStream);
-               fclose($stream);
-               return $res;
-       }
-
-       protected function _escapeCygwin($url)
-       {
-               $url = preg_replace('/\/([a-z]):\//i', '/cygdrive/\1/', '/' . $url);
-               return $url;
-       }
-
-}
diff --git a/src/SSH2.php b/src/SSH2.php
new file mode 100644 (file)
index 0000000..9d4ff2f
--- /dev/null
@@ -0,0 +1,160 @@
+<?php
+
+namespace Cubist\Net;
+class SSH2
+{
+
+       protected $_host;
+       protected $_username;
+       protected $_password;
+       protected $_port = 22;
+       protected $_key = null;
+       protected $_connection = null;
+       protected $_sftp = null;
+
+       public function __construct($host, $username, $password, $port = 22)
+       {
+               $this->setHost($host)
+                       ->setUsername($username)
+                       ->setPassword($password)
+                       ->setPort($port);
+       }
+
+       public function getHost()
+       {
+               return $this->_host;
+       }
+
+       public function getUsername()
+       {
+               return $this->_username;
+       }
+
+       public function getPassword()
+       {
+               return $this->_password;
+       }
+
+       public function getPort()
+       {
+               return $this->_port;
+       }
+
+       public function setPort($port)
+       {
+               $this->_port = $port;
+               return $this;
+       }
+
+       public function setHost($host)
+       {
+               $this->_host = $host;
+               return $this;
+       }
+
+       public function setUsername($username)
+       {
+               $this->_username = $username;
+               return $this;
+       }
+
+       public function setPassword($password)
+       {
+               $this->_password = $password;
+               return $this;
+       }
+
+       public function _connect()
+       {
+               if (is_null($this->_connection)) {
+                       $this->_connection = ssh2_connect($this->getHost(), $this->getPort());
+                       ssh2_auth_password($this->_connection, $this->getUsername(), $this->getPassword());
+               }
+               return $this->_connection;
+       }
+
+       public function getSFTPConnection()
+       {
+               if (is_null($this->_sftp)) {
+                       $this->_connect();
+                       $this->_sftp = ssh2_sftp($this->_connection);
+               }
+               return $this->_sftp;
+       }
+
+       public function getSFTPWrapper()
+       {
+               return 'ssh2.sftp://' . $this->getSFTPConnection() . '/';
+       }
+
+       public function filePutContents($filename, $data)
+       {
+               $dir = dirname($filename);
+               $this->mkdir($dir);
+               file_put_contents($this->_filename($filename), $data);
+       }
+
+       public function fileGetContents($filename)
+       {
+               return file_get_contents($this->_filename($filename));
+       }
+
+       public function fileReplaceContents($string, $replacement, $filename)
+       {
+               $contents = $this->fileGetContents($filename);
+               file_put_contents('/tmp/get', $contents);
+               $contents = str_replace($string, $replacement, $contents);
+               file_put_contents('/tmp/replaced', $string . "\n\n" . $replacement . "\n\n" . $contents);
+               $this->filePutContents($filename, $contents);
+       }
+
+       protected function _filename($filename)
+       {
+               return $this->getSFTPWrapper() . ltrim($this->_escapeCygwin($filename), '/');
+       }
+
+       public function filesize($filename)
+       {
+               return filesize($this->_filename($filename));
+       }
+
+       public function file_exists($filename)
+       {
+               return file_exists($this->_filename($filename));
+       }
+
+       public function mkdir($dirname, $mode = 0777, $recursive = true)
+       {
+               if (!$this->file_exists($dirname)) {
+                       return ssh2_sftp_mkdir($this->getSFTPConnection(), $dirname, $mode, $recursive);
+               }
+               return true;
+       }
+
+       public function exec($commande)
+       {
+               // http://www.php.net/manual/fr/function.ssh2-exec.php#99089
+               $stream = ssh2_exec($this->_connect(), $commande);
+               $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
+
+               // Enable blocking for both streams
+               stream_set_blocking($errorStream, true);
+               stream_set_blocking($stream, true);
+
+               // Whichever of the two below commands is listed first will receive its appropriate output.  The second command receives nothing
+               $res = array('output' => stream_get_contents($stream),
+                       'error' => stream_get_contents($errorStream));
+
+               // Close the streams
+               fclose($errorStream);
+               fclose($stream);
+               return $res;
+       }
+
+       protected function _escapeCygwin($url)
+       {
+               $url = preg_replace('/\/([a-z]):\//i', '/cygdrive/\1/', '/' . $url);
+               return $url;
+       }
+
+}