|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/simes/unused/fCMSBackend/includes/ |
Upload File : |
<?php
// UD class - UploadDownload class
include("./includes/classes/UD.class.php");
$ud = new UD();
$ud->rootDir = $request->getAuthFBProperty ('root');
$ud->readOnlyFiles = false;
$ud->allowedExtensions = $extlist;
$ud->maxFileSize = $maxsize;
$ud->maxRecursionDirs = 100;
$pfolder = $request->getPathParam ('FOLDER');
$pfilter = $request->getParam ('FILTER');
$pfilename = $request->getFilenameParam ('FILENAME');
$request->debugvar ($pfolder, 'FB Folder');
$request->debugvar ($pfilder, 'FB Filter');
$request->debugvar ($pfilename, 'FB Filename');
// ----------------------------------------------------
// This parts is for get Files And Folders
// ----------------------------------------------------
if ($action == "getFoldersAndFiles") {
$reqelist = explode(",", $pfilter);
if (! empty ($filter)) {
if ($extlist)
$ud->allowedExtensions = array_intersect ($extlist, $reqelist);
else
$ud->allowedExtensions = $reqelist;
}
$FaF = $ud->getFoldersAndFiles ($pfolder);
if ($FaF < 0) {
$request->error ($ud->getErrorMsg($FaF));
}
$dorec = ($rparams ['GET'] == 'all');
if ($dorec) {
$FaF = $ud->getTreeArray ($pfolder);
}
$output = '<?xml version="1.0" encoding="utf-8"?>';
$output .= "<fb status=\"ok\">";
makeXmlForderItemRec ($FaF, $dorec);
$output .= "</fb>";
$request->responseXML ($output);
}
// ---------------------------------------------------
// This parts is for delete
// ---------------------------------------------------
if ($action == "delete" ) {
$request->authorize ('filebrowser', 'delete');
if (! $pfilename) {
$toDelete = "folder";
$bool = $ud->deleteFolder ($pfolder);
} else {
$toDelete = "file";
$fpath = $request->joinPathParam ($pfolder, 'FILENAME', True);
$request->debugvar ($fpath, 'FB FPath (delete)');
$bool = $ud->deleteFile ($fpath);
}
if ($bool < 0) {
$request->error ($ud->getErrorMsg($bool));
} else {
$request->response (array(
'status' => 'ok',
'deleted' => $toDelete
));
}
}
// ---------------------------------------------------
// This parts is for createDir
// ---------------------------------------------------
if ($action == "createDir" ) {
$request->authorize ('filebrowser', 'delete');
$bool = $ud->addFolder ($pfolder);
if ($bool < 0) {
$request->error ($ud->getErrorMsg($bool));
} else {
$request->response (array(
'status' => 'ok',
'name' => $req ['FOLDER']
));
}
}
// -----------------------------
// Functions
//------------------------------
function makeXmlForderItemRec (&$arr, $dorec=True)
{
GLOBAL $output;
if (!is_array($arr)) return;
foreach ($arr as $key=>$value){
$fname = $value [name];
$ftype = $value [type];
if (substr ($fname, 0, 1) == '.') continue;
if ($ftype == "dir") {
$output .= '<item type="' . $ftype . '" name="' . $fname . '">';
if ($dorec) {
if (isset($value [folders])) {
makeXmlForderItemRec ($value [folders], $dorec);
}
}
$output .= "</item>";
}
else if ($ftype == "file") {
$output .= '<item type="' . $ftype . '" name="' . $fname . '" size="' . $fzize . '" />';
}
}
}
?>