69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php 
 | 
						|
 | 
						|
/**
 | 
						|
 * Lists accounts
 | 
						|
 * Checks root
 | 
						|
 */
 | 
						|
class Alternc_Diagnostic_Service_Ftp 
 | 
						|
    extends Alternc_Diagnostic_Service_Abstract
 | 
						|
    implements Alternc_Diagnostic_Service_Interface
 | 
						|
{
 | 
						|
 | 
						|
    public $name                        = "ftp";
 | 
						|
    
 | 
						|
//    /** @var m_ftp */
 | 
						|
//    protected $ftp;
 | 
						|
 | 
						|
    /** @var array */
 | 
						|
    protected $ftpList;
 | 
						|
 | 
						|
 | 
						|
    const SECTION_LIST                  = "list";
 | 
						|
    const SECTION_CHECK_HOMEDIR         = "check_homedir";
 | 
						|
 | 
						|
    function run(){
 | 
						|
        
 | 
						|
        
 | 
						|
        $this->ftpList                  = $this->get_list();
 | 
						|
        
 | 
						|
        // Writes the domains list 
 | 
						|
	$this->writeSectionData (self::SECTION_LIST,$this->ftpList);
 | 
						|
 | 
						|
        // Checks the homedir existence
 | 
						|
	$this->writeSectionData (self::SECTION_CHECK_HOMEDIR,  $this->checkHomeDir());
 | 
						|
        
 | 
						|
        return $this->data;
 | 
						|
    }
 | 
						|
    
 | 
						|
    function checkHomeDir() {
 | 
						|
        
 | 
						|
        $returnArray                = array();
 | 
						|
        foreach( $this->ftpList as $login => $ftpData){
 | 
						|
            $exists                 = false;
 | 
						|
            $homedir                = $ftpData["dir"];
 | 
						|
            if(is_dir($homedir) ){
 | 
						|
                $exists             = true;
 | 
						|
            }
 | 
						|
            $returnArray[$login]    = $exists;
 | 
						|
            
 | 
						|
        }
 | 
						|
        return $returnArray;
 | 
						|
    }
 | 
						|
 | 
						|
    
 | 
						|
  function get_list() {
 | 
						|
    $returnArray                    = array();
 | 
						|
    $this->db->query("SELECT id, name, homedir, enabled FROM ftpusers ORDER BY name;");
 | 
						|
    if ($this->db->num_rows()) {
 | 
						|
      while ($this->db->next_record()) {
 | 
						|
        $returnArray[$this->db->f("name")]=array(
 | 
						|
                  "enabled"   => $this->db->f("enabled"),
 | 
						|
                  "dir"       => $this->db->f("homedir")
 | 
						|
             );
 | 
						|
      }
 | 
						|
    }
 | 
						|
    return $returnArray;
 | 
						|
    
 | 
						|
  }    
 | 
						|
    
 | 
						|
} |