function fm_compresszip($files, $dest = FALSE, $overwrite = FALSE) { if (file_exists($dest) && !$overwrite || !count($files)) { return FALSE; } else { fm_delete($dest); } @unlink('cache/up/temp.zip'); $lfiles = fm_mkalllocal($files); $archive = new PclZip('cache/up/temp.zip'); $archive->create($lfiles, PCLZIP_OPT_REMOVE_PATH, upOne($lfiles[0])); fm_recachedir('down/local/'); $res = fm_upload('temp.zip', $dest, $overwrite); @unlink('cache/up/temp.zip'); return $res; }
if ($_POST['r_rename']) { $conflict = 'rename'; } switch ($_POST['act']) { case 'delete': //-------------------- // Delete //-------------------- $tfiles = ids2files($val); foreach ($tfiles as $tfile) { $buffer .= "<tr><td>Deleting '{$tfile}'...</td><td>"; if (!fm_canaccess($d . $tfile)) { $buffer .= '<strong style="color:#F00;">Access denied</strong>'; $redir = false; } else { if (fm_delete($d . $tfile)) { $buffer .= '<strong style="color:#090;">Successful</strong>'; } else { $buffer .= '<strong style="color:#F00;">Failed' . (fm_exists($d . $tfile) ? ', permission error (Filecharger installed incorrectly?)' : ', file doesn\'t exist') . '</strong>'; $redir = false; } } $buffer .= "</td></tr>"; } break; case 'rename': case 'replace': //-------------------- // Rename //-------------------- $tfiles = explode(',', $val);
+- rename(move) file / dir +- delete file / dir [ recursive ] +- chmod file / dir +- chown file / dir +- create file +- create dir */ switch ($_REQUEST['action']) { case 'copy': fm_copy($_REQUEST['source'], $_REQUEST['dest']); break; case 'rename': fm_rename($_REQUEST['source'], $_REQUEST['dest']); break; case 'delete': fm_delete($_REQUEST['source']); break; case 'chmod': fm_chmod($_REQUEST['source'], $_REQUEST['mode']); break; case 'chown': fm_chown($_REQUEST['source'], $_REQUEST['uid'], $_REQUEST['gid']); break; case 'create_file': fm_create_file($_REQUEST['source'], $_REQUEST['mode'] || FALSE); break; case 'create_dir': fm_create_dir($_REQUEST['source'], $_REQUEST['mode'] || FALSE); break; default: $pwd = $_REQUEST['path'] ? $_REQUEST['path'] : __DIR__;
function fm_prepareoverwrite($file, $overwrite = false, $forcedelete = true) { if (!fm_isfile($file)) { return $file; } if (!$overwrite) { return false; } if ($overwrite === 'rename') { return fm_unusedfilename($file); } if ($forcedelete && !fm_delete($dest)) { return false; } return $file; }