mirror of
https://github.com/xevidos/codiad.git
synced 2024-11-10 21:26:35 +01:00
54 lines
1.6 KiB
PHP
Executable File
54 lines
1.6 KiB
PHP
Executable File
<?php
|
|
/*
|
|
* Copyright (c) Codiad & Andr3as, distributed
|
|
* as-is and without warranty under the MIT License.
|
|
* See http://opensource.org/licenses/MIT for more information.
|
|
* This information must remain intact.
|
|
*/
|
|
error_reporting(0);
|
|
|
|
require_once('../../common.php');
|
|
checkSession();
|
|
|
|
switch($_GET['action']) {
|
|
|
|
case 'duplicate':
|
|
if (isset($_GET['path']) && isset($_GET['name'])) {
|
|
$source = getWorkspacePath($_GET['path']);
|
|
$des = getWorkspacePath(dirname($_GET['path'])."/".$_GET['name']);
|
|
if (copy($source, $des)) {
|
|
echo '{"status":"success","message":"File duplicated"}';
|
|
} else {
|
|
echo '{"status":"error","message":"Failed to duplicate"}';
|
|
}
|
|
} else {
|
|
echo '{"status":"error","message":"Missing Parameter"}';
|
|
}
|
|
break;
|
|
|
|
default:
|
|
echo '{"status":"error","message":"No Type"}';
|
|
break;
|
|
}
|
|
|
|
|
|
function getWorkspacePath($path) {
|
|
//Security check
|
|
if (!Common::checkPath($path)) {
|
|
die('{"status":"error","message":"Invalid path"}');
|
|
}
|
|
if (strpos($path, "/") === 0) {
|
|
//Unix absolute path
|
|
return $path;
|
|
}
|
|
if (strpos($path, ":/") !== false) {
|
|
//Windows absolute path
|
|
return $path;
|
|
}
|
|
if (strpos($path, ":\\") !== false) {
|
|
//Windows absolute path
|
|
return $path;
|
|
}
|
|
return WORKSPACE . "/" . $path;
|
|
}
|
|
?>
|