Seditio Source
Root |
./othercms/slaed_cms_6.2_pro/plugins/filemanager/include/ftp_class.php
<?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;
    }
}