Blame view

web/backend/js/filemanager/include/ftp_class.php 2.1 KB
d1f8bd40   Alexey Boroda   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
  <?php
  
  Class FTPClient
  {
  	// *** Class variables
  	private $connectionId;
  	private $loginOk = false;
  	private $messageArray = array();
  
  	public function __construct() { }
  
  	private function logMessage($message) 
  	{
  		$this->messageArray[] = $message;
  	}
  
  	public function getMessages()
  	{
  		return $this->messageArray;
  	}
  
  	public function connect ($server, $ftpUser, $ftpPassword, $isPassive = false)
  	{
  
  		// *** Set up basic connection
  		$this->connectionId = ftp_connect($server);
  
  		// *** Login with username and password
  		$loginResult = ftp_login($this->connectionId, $ftpUser, $ftpPassword);
  
  		// *** Sets passive mode on/off (default off)
  		ftp_pasv($this->connectionId, $isPassive);
  
  		// *** Check connection
  		if ((!$this->connectionId) || (!$loginResult)) {
  			$this->logMessage('FTP connection has failed!');
  			$this->logMessage('Attempted to connect to ' . $server . ' for user ' . $ftpUser, true);
  			return false;
  		} else {
  			$this->logMessage('Connected to ' . $server . ', for user ' . $ftpUser);
  			$this->loginOk = true;
  			return true;
  		}
  	}
  	public function makeDir($directory)
  	{
  		// *** If creating a directory is successful...
  		if (ftp_mkdir($this->connectionId, $directory)) {
  
  			$this->logMessage('Directory "' . $directory . '" created successfully');
  			return true;
  
  		} else {
  
  			// *** ...Else, FAIL.
  			$this->logMessage('Failed creating directory "' . $directory . '"');
  			return false;
  		}
  	}
  
  	public function changeDir($directory)
  	{
  	    if (ftp_chdir($this->connectionId, $directory)) {
  	        $this->logMessage('Current directory is now: ' . ftp_pwd($this->connectionId));
  	        return true;
  	    } else { 
  	        $this->logMessage('Couldn\'t change directory');
  	        return false;
  	    }
  	}
  
  	public function getDirListing($directory = '.', $parameters = '-la')
  	{
  		echo shell_exec('whoami')." is who i am </br>";
  		echo "Current directory is now: " . ftp_pwd($this->connectionId) . "</br>";
  
  	    // get contents of the current directory
  	    $contentsArray = ftp_rawlist($this->connectionId, $parameters . '  ' . $directory);
  	 	echo error_get_last();
  	    return $contentsArray;
  	}
  }