mirror of
https://github.com/xevidos/codiad.git
synced 2024-11-13 07:11:14 +01:00
57 lines
1.7 KiB
PHP
57 lines
1.7 KiB
PHP
|
<?php
|
||
|
/*
|
||
|
* Copyright (c) Codiad & Andr3as, distributed
|
||
|
* as-is and without warranty under the MIT License.
|
||
|
* See [root]/license.md for more information. This information must remain intact.
|
||
|
*/
|
||
|
error_reporting(0);
|
||
|
|
||
|
require_once('class.util.php');
|
||
|
require_once('../../common.php');
|
||
|
checkSession();
|
||
|
|
||
|
switch($_GET['action']) {
|
||
|
|
||
|
case 'changePermission':
|
||
|
if (isset($_GET['path']) && isset($_GET['mode'])) {
|
||
|
$path = util::getWorkspacePath($_GET['path']);
|
||
|
$mode = $_GET['mode'];
|
||
|
if ($mode[0] != '0') {
|
||
|
$mode = '0'.$mode;
|
||
|
}
|
||
|
$mode = intval($mode, 8);
|
||
|
if (chmod_R($path, $mode)) {
|
||
|
echo '{"status":"success","message":"Permissions Changed"}';
|
||
|
} else {
|
||
|
echo '{"status":"error","message":"Failed To Change Permissions"}';
|
||
|
}
|
||
|
} else {
|
||
|
echo '{"status":"error","message":"Missing Parameter!"}';
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
default:
|
||
|
echo '{"status":"error","message":"No Type"}';
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
function chmod_R($path, $mode) {
|
||
|
if (is_dir($path)) {
|
||
|
if (chmod($path, $mode) == false) {
|
||
|
return false;
|
||
|
}
|
||
|
$files = scandir($path);
|
||
|
foreach ($files as $file) {
|
||
|
if($file != '.' && $file != '..') {
|
||
|
$fullpath = $path.'/'.$file;
|
||
|
if(!chmod_R($fullpath, $mode)) {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
} else {
|
||
|
return chmod($path, $mode);
|
||
|
}
|
||
|
}
|
||
|
?>
|