function fm_copy($source, $dest, $overwrite = false)
{
    global $prepath;
    $success = true;
    if (!fm_isdir($source) || !fm_isdir($dest)) {
        aphp($dest);
        $dest = fm_prepareoverwrite($dest, $overwrite);
        if (!$dest) {
            return false;
        }
        return @copy($prepath . $source, $prepath . $dest);
    }
    if (!($handle = @opendir($prepath . $source))) {
        return false;
    }
    if (substr('/' . $source, -1) != '/') {
        $source .= '/';
    }
    if (substr('/' . $dest, -1) != '/') {
        $dest .= '/';
    }
    while (false !== ($file = readdir($handle))) {
        if ($file == '.' || $file == '..') {
            continue;
        }
        if (fm_isdir($path) && !fm_isdir($dest . $file)) {
            if (!fm_mkdir($dest . $file)) {
                $success = false;
            }
        }
        // make subdirectory before subdirectory is copied
        if (!fm_copy($source . $file, $dest . $file)) {
            $success = false;
        }
    }
    closedir($handle);
    return $success;
}
Ejemplo n.º 2
0
function fm_upload($source, $dest, $overwrite = false)
{
    global $ftp, $ftp_prepath;
    if (!fm_ftpconnect()) {
        return false;
    }
    if (!is_dir('cache/up/' . $source)) {
        aphp($dest);
        $dest = fm_prepareoverwrite($dest, $overwrite);
        if (!$dest) {
            return false;
        }
        $success = @ftp_put($ftp, $ftp_prepath . $dest, 'cache/up/' . $source, FTP_BINARY);
        if ($success) {
            @unlink('cache/up/' . $source);
        }
        return $success;
    }
    // A hack, but this is the only way FTP will let us do it.
    $success = true;
    if (substr('/' . $source, -1) != '/') {
        $source .= '/';
    }
    // enforce trailing slash
    if (substr('/' . $dest, -1) != '/') {
        $dest .= '/';
    }
    // enforce trailing slash
    if (!fm_exists($dest) && !fm_mkdir($dest)) {
        return false;
    }
    if (!($handle = @opendir('cache/up/' . $source))) {
        return false;
    }
    while (false !== ($csource = readdir($handle))) {
        if ($csource == '.' || $csource == '..') {
            continue;
        }
        if (!fm_upload($source . $csource, $dest . $csource, $overwrite)) {
            $success = false;
        }
    }
    @closedir($handle);
    @rmdir('cache/up/' . $source);
    return $success;
}
Ejemplo n.º 3
0
          $buffer .= '<strong style="color:#F00;">Failed</strong>';
          $redir = false;
        }
        $buffer .= "</td></tr>";*/
     $buffer .= "<tr><td colspan=\"2\">No longer supported: use textedit.php instead.</td></tr>";
     break;
 case 'newfold':
     //--------------------
     // New Folder
     //--------------------
     $tfile = $_POST['val'];
     $buffer .= "<tr><td>Creating folder '{$tfile}'...</td><td>";
     if (!fm_canaccess($d . $tfile)) {
         $buffer .= '<strong style="color:#F00;">Access denied</strong>';
     } else {
         if (fm_mkdir($d . $tfile)) {
             $buffer .= '<strong style="color:#090;">Successful</strong>';
             $acted[] = file2id($tfile . '/');
         } else {
             $buffer .= '<strong style="color:#F00;">Failed' . (fm_exists($d . $tfile) ? ", '{$tfile}' already exists" : ', permission error (Filecharger installed incorrectly?)') . '</strong>';
             $redir = false;
         }
     }
     $buffer .= "</td></tr>";
     break;
 case 'newfile':
     //--------------------
     // New File
     //--------------------
     $tfile = $_POST['val'];
     $buffer .= "<tr><td>Creating file '{$tfile}'...</td><td>";