From 6e6a0dae963f18b0ef460503544d7dcec00b4704 Mon Sep 17 00:00:00 2001 From: Matt Pass Date: Wed, 27 Jun 2012 20:47:00 +0100 Subject: [PATCH] Permissions function added New function to change permissions on request Takes permission & applies top file/folder Then updates file manager tree and server message If it can't be changed, provide alert message --- lib/file-control.php | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/file-control.php b/lib/file-control.php index ae7a618..0372d0c 100644 --- a/lib/file-control.php +++ b/lib/file-control.php @@ -7,7 +7,7 @@ if (isset($_GET['saveType'])) {$saveType = strClean($_GET['saveType']);}; $docRoot = str_replace("\\","/",$_SERVER['DOCUMENT_ROOT']); // Not done the first time we are on the save loop (ie, before the form posting reload) -if ($_GET['action']=="load"||$_GET['action']=="newFolder"||$_GET['action']=="rename"||$_GET['action']=="delete"||isset($_POST['contents'])) { +if ($_GET['action']=="load"||$_GET['action']=="newFolder"||$_GET['action']=="rename"||$_GET['action']=="delete"||$_GET['action']=="perms"||isset($_POST['contents'])) { $file= str_replace("|","/",$file); } @@ -82,6 +82,25 @@ if ($_GET['action']=="rename") { } } +// If we're due to change permissions on a file/folder... +if ($_GET['action']=="perms") { + if ($_SESSION['userLevel'] > 0 && is_writable($docRoot.$file)) { + chmod($docRoot.$file,octdec(numClean($_GET['perms']))); + // Reload file manager + $fileName = substr($file,strrpos($file,"/")+1); + $fileLoc = substr($file,0,strrpos($file,"/")); + if ($fileLoc=="") {$fileLoc = "/";}; + echo ''; + } else { + if (!is_writable($docRoot.$file)) { + echo ""; + } else { + echo ''; + } + echo ''; + } +} + // If we're due to delete a file... if ($_GET['action']=="delete") { if ($_SESSION['userLevel'] > 0) {