コード例 #1
0
 function copyOrMoveFile($destDir, $srcFile, &$error, &$success, $move = false)
 {
     $mess = ConfService::getMessages();
     $destFile = ConfService::getRootDir() . $destDir . "/" . basename($srcFile);
     $realSrcFile = ConfService::getRootDir() . "/{$srcFile}";
     if (!file_exists($realSrcFile)) {
         $error[] = $mess[100] . $srcFile;
         return;
     }
     if ($realSrcFile == $destFile) {
         $error[] = $mess[101];
         return;
     }
     if (is_dir($realSrcFile)) {
         $errors = array();
         $succFiles = array();
         $dirRes = FS_Storage::dircopy($realSrcFile, $destFile, $errors, $succFiles);
         if (count($errors)) {
             $error[] = $mess[114];
             return;
         }
     } else {
         $res = copy($realSrcFile, $destFile);
         if ($res != 1) {
             $error[] = $mess[114];
             return;
         }
     }
     if ($move) {
         // Now delete original
         FS_Storage::deldir($realSrcFile);
         // both file and dir
         $messagePart = $mess[74] . " {$destDir}";
         if ($destDir == "/" . ConfService::getRecycleBinDir()) {
             $messagePart = $mess[123] . " " . $mess[122];
         }
         if (isset($dirRes)) {
             $success[] = $mess[117] . " " . basename($srcFile) . " " . $messagePart . " ({$dirRes} " . $mess[116] . ") ";
         } else {
             $success[] = $mess[34] . " " . basename($srcFile) . " " . $messagePart;
         }
     } else {
         if (isset($dirRes)) {
             $success[] = $mess[117] . " " . basename($srcFile) . " " . $mess[73] . " {$destDir} (" . $dirRes . " " . $mess[116] . ")";
         } else {
             $success[] = $mess[34] . " " . basename($srcFile) . " " . $mess[73] . " {$destDir}";
         }
     }
 }