/**
  * Populate archive directory up to max_archives files
  * 
  * @param CFTP    $ftp        FTP connector
  * @param string  $basename   Base name for archive directory
  * @param boolean $compressed True if file is an archive
  *
  * @return int Current archive count
  */
 function archiveFile(CFTP $ftp, $basename, $compressed)
 {
     try {
         // Répertoire d'archivage
         $directory = $ftp->fileprefix . $basename;
         $datetime = $this->getDateTime();
         $ftp->createDirectory($directory);
         // Transmission de la copie
         $archive = "{$directory}/archive-{$datetime}" . ($compressed ? ".zip" : ".html");
         $file = $compressed ? $this->_file_compressed : $this->_file;
         $ftp->sendFile($file, $archive);
         // Rotation des fichiers
         $files = $ftp->getListFiles($directory);
         rsort($files);
         $list_files = array_slice($files, $this->max_archives);
         foreach ($list_files as $_file) {
             $ftp->delFile($directory . "/" . basename($_file));
         }
     } catch (CMbException $e) {
         $e->stepAjax();
     }
     return count($ftp->getListFiles($directory));
 }