Commit 97b3e363 authored by Adarsh's avatar Adarsh

minor

parents 4620b704 a8f0a1db
...@@ -16,7 +16,7 @@ $postData = json_decode($postData, true); ...@@ -16,7 +16,7 @@ $postData = json_decode($postData, true);
$uname = $postData['username']; $uname = $postData['username'];
$filename = $postData['filename']; $filename = $postData['filename'];
$f_path = $postData['file_path']; $f_path = $postData['path'];
$language = $postData['language']; $language = $postData['language'];
$ret_stat = 0; $ret_stat = 0;
......
...@@ -17,7 +17,7 @@ $postData = json_decode($postData, true); ...@@ -17,7 +17,7 @@ $postData = json_decode($postData, true);
$uname = $postData['file']['username']; $uname = $postData['file']['username'];
$filename = $postData['file']['filename']; $filename = $postData['file']['filename'];
$f_path = $postData['file']['file_path']; $f_path = $postData['file']['path'];
$language = $postData['file']['language']; $language = $postData['file']['language'];
$input_data = $postData['input_data']; $input_data = $postData['input_data'];
...@@ -37,7 +37,7 @@ if (strcmp($language, ".cpp") == 0) { ...@@ -37,7 +37,7 @@ if (strcmp($language, ".cpp") == 0) {
} else if (strcmp($language, ".java") == 0) { } else if (strcmp($language, ".java") == 0) {
system("java -cp ../user_execs/" . $uname . "/" . $f_path . "/ " . $filename . " < " . $in_fname . " > " . $out_fname, $ret_stat); system("java -cp ../user_execs/" . $uname . "/" . $f_path . "/ " . $filename . " < " . $in_fname . " > " . $out_fname, $ret_stat);
} else if (strcmp($language, ".py") == 0) { } else if (strcmp($language, ".py") == 0) {
system("python3 ../users/" . $uname . "/" . $filename . ".py < " . $in_fname . " > " . $out_fname, $ret_stat); system("python3 ../users/" . $uname . "/" . $f_path . "/" . $filename . ".py < " . $in_fname . " > " . $out_fname, $ret_stat);
} }
if ($ret_stat != 0) { if ($ret_stat != 0) {
......
...@@ -35,7 +35,7 @@ if (isset($postData) && !empty($postData)) { ...@@ -35,7 +35,7 @@ if (isset($postData) && !empty($postData)) {
mysqli_query($mysqli,$sql); mysqli_query($mysqli,$sql);
$msg = "file successfully deleted"; $msg = "file successfully deleted";
echo json_encode($msg); echo json_encode($msg);
unlink($exec_path); if (file_exists($exec_path)) unlink($exec_path);
} }
else{ else{
http_response_code(404); http_response_code(404);
......
...@@ -2,28 +2,29 @@ ...@@ -2,28 +2,29 @@
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Credentials: true'); header('Access-Control-Allow-Credentials: true');
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE"); header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header("Content-Type: application/json; charset=UTF-8"); header("Content-Type: application/json; charset=UTF-8");
$postData = file_get_contents("php://input"); $postData = file_get_contents("php://input");
if(isset($postData) && !empty($postData)) { if (isset($postData) && !empty($postData)) {
$request = json_decode($postData, true); $request = json_decode($postData, true);
$username = $request['username']; $username = $request['username'];
$dirname = $request['dirname']; $dirname = $request['dirname'];
$path = "../users/" . $username . "/" . $request['path'] . "/" . $dirname; $path = "../users/" . $username . "/" . $request['path'] . "/" . $dirname;
if(file_exists($path)) { if (file_exists($path)) {
$msg = "directory already exists"; $msg = "0";
clearstatcache(); clearstatcache();
echo json_encode($msg); echo json_encode($msg);
} } else {
else { mkdir($path, 0777, true);
mkdir($path, 0777, true); $path = "../user_execs/" . $username . "/" . $request['path'] . "/" . $dirname;
echo json_encode("Success"); mkdir($path, 0777, true);
clearstatcache(); echo json_encode("1");
} clearstatcache();
}
} }
?> ?>
<?php <?php
/** \file /*!
* This script registers a user using a username, password, name, and email (provided through POST). This script communicates with the MySQL server to save user data. This script registers a user using a username, password, name, and email. This script communicates with the MySQL server to save
user data.
*/ */
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
...@@ -11,15 +12,7 @@ header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Ac ...@@ -11,15 +12,7 @@ header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Ac
header("Content-Type: application/json; charset=UTF-8"); header("Content-Type: application/json; charset=UTF-8");
include_once("database.php"); include_once("database.php");
/**
* \brief POST data in json format.
*/
/** \cond */
$postData = file_get_contents("php://input"); $postData = file_get_contents("php://input");
/**
* \endcond
*/
if (isset($postData) && !empty($postData)) { if (isset($postData) && !empty($postData)) {
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
</div> </div>
<div *ngIf="isNew" class="title"> <div *ngIf="isNew" class="title">
<input (input)="isErrorCreating = false" [(ngModel)]="newName" [disabled]="creating" id="newFilenameInput" <input (input)="isErrorCreating = false" [(ngModel)]="newName" [disabled]="creating" [placeholder]="'Name of new ' + (isFile ? 'file' : 'directory')"
[placeholder]="'Name of new ' + (isFile ? 'file' : 'directory')" type="text"> id="newFilenameInput" type="text">
<label for="newFilenameInput" *ngIf="isFile" (click)="lang = (lang + 1) % 3">{{extensions[lang]}}</label> <label (click)="lang = (lang + 1) % 3" *ngIf="isFile" for="newFilenameInput">{{extensions[lang]}}</label>
</div> </div>
<div *ngIf="isNew || isFile"></div> <div *ngIf="isNew || isFile"></div>
...@@ -16,10 +16,11 @@ ...@@ -16,10 +16,11 @@
<button (click)="onDelete()" [class.disabled]="deleting || isErrorDeleting" <button (click)="onDelete()" [class.disabled]="deleting || isErrorDeleting"
[disabled]="deleting || isErrorDeleting">{{isErrorDeleting ? 'Error' : (deleting ? 'Deleting...' : 'Delete')}}</button> [disabled]="deleting || isErrorDeleting">{{isErrorDeleting ? 'Error' : (deleting ? 'Deleting...' : 'Delete')}}</button>
<button (click)="isExpanded = !isExpanded" *ngIf="!isFile">{{isExpanded ? 'Collapse' : 'Expand'}}</button> <button (click)="isExpanded = !isExpanded" *ngIf="!isFile">{{isExpanded ? 'Collapse' : 'Expand'}}</button>
<button (click)="isExpanded = true; creatingNewSub = 1" *ngIf="!isFile">New Directory</button> <button (click)="isExpanded = true; creatingNewSub = 1" *ngIf="!isFile && level < 3" [class.disabled]="deleting" [disabled]="deleting">New Directory</button>
<button (click)="isExpanded = true; creatingNewSub = 2" *ngIf="!isFile">New File</button> <button (click)="isExpanded = true; creatingNewSub = 2" *ngIf="!isFile" [class.disabled]="deleting" [disabled]="deleting">New File</button>
<button *ngIf="isFile" [routerLink]="getRouterLink()">Edit</button> <button *ngIf="isFile" [class.disabled]="deleting" [disabled]="deleting"
<button *ngIf="isFile">Run</button> [routerLink]="getRouterLink()">Edit
</button>
</div> </div>
<div *ngIf="isNew" class="file-buttons"> <div *ngIf="isNew" class="file-buttons">
...@@ -33,9 +34,10 @@ ...@@ -33,9 +34,10 @@
<div *ngIf="!isNew && !isFile" [style.display]="isExpanded ? 'block' : 'none'" class="subs"> <div *ngIf="!isNew && !isFile" [style.display]="isExpanded ? 'block' : 'none'" class="subs">
<app-file-dir-card (cancelled)="creatingNewSub = 0" (createDir)="createDirExec($event)" (createFile)="createFileExec($event)" <app-file-dir-card (cancelled)="creatingNewSub = 0" (createDir)="createDirExec($event)"
*ngIf="creatingNewSub !== 0" [isFile]="creatingNewSub === 2" [level]="level + 1" (createFile)="createFileExec($event)"
[isNew]="true" [parentPath]="directory.path + directory.name + '/'"></app-file-dir-card> *ngIf="creatingNewSub !== 0" [isFile]="creatingNewSub === 2" [isNew]="true"
[level]="level + 1" [parentPath]="directory.path + directory.name + '/'"></app-file-dir-card>
<app-file-dir-card (deleteDir)="deleteDirExec($event)" (deleteFile)="deleteFileExec($event)" <app-file-dir-card (deleteDir)="deleteDirExec($event)" (deleteFile)="deleteFileExec($event)"
*ngFor="let dir of directory.dirs" [directory]="dir" *ngFor="let dir of directory.dirs" [directory]="dir"
......
...@@ -112,8 +112,10 @@ export class FileDirCardComponent implements OnInit { ...@@ -112,8 +112,10 @@ export class FileDirCardComponent implements OnInit {
path: this.parentPath path: this.parentPath
}; };
this.fileService.upload(file).subscribe(data => { this.fileService.upload(file).subscribe(data => {
console.log(data);
this.createFile.emit(file); this.createFile.emit(file);
}, () => { }, error => {
console.log(error);
this.creating = false; this.creating = false;
this.isErrorCreating = true; this.isErrorCreating = true;
}); });
......
...@@ -157,6 +157,7 @@ int main() { ...@@ -157,6 +157,7 @@ int main() {
.subscribe(data => { .subscribe(data => {
this.runCodeService.executeFile(this.file, this.inp) this.runCodeService.executeFile(this.file, this.inp)
.subscribe(d => { .subscribe(d => {
console.log(d);
this.runField.status = '<div class="code">' + d + '</div>'; this.runField.status = '<div class="code">' + d + '</div>';
this.runField.setState(true); this.runField.setState(true);
this.isCompiling = false; this.isCompiling = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment