ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilIndividualAssessmentFileStorage.php
Go to the documentation of this file.
1<?php
2require_once("Modules/IndividualAssessment/interfaces/FileStorage/interface.IndividualAssessmentFileStorage.php");
3include_once('Services/FileSystem/classes/class.ilFileSystemStorage.php');
11{
12 public static function getInstance($a_container_id = 0)
13 {
14 return new self(self::STORAGE_SECURED, true, $a_container_id);
15 }
16
22 protected function getPathPostfix()
23 {
24 return 'iass';
25 }
26
32 protected function getPathPrefix()
33 {
34 return 'ilIndividualAssessment';
35 }
36
42 public function isEmpty()
43 {
44 $files = $this->readDir();
45
46 return (count($files) == 0) ? true : false;
47 }
48
54 public function setUserId($user_id)
55 {
56 $this->user_id = $user_id;
57 }
58
64 public function create()
65 {
66 if (!file_exists($this->getAbsolutePath())) {
68 }
69 return true;
70 }
71
77 public function getAbsolutePath()
78 {
79 $path = parent::getAbsolutePath();
80
81 if ($this->user_id) {
82 $path .= "/user_" . $this->user_id;
83 }
84
85 return $path;
86 }
87
93 public function readDir()
94 {
95 if (!is_dir($this->getAbsolutePath())) {
96 $this->create();
97 }
98
99 $fh = opendir($this->getAbsolutePath());
100 $files = array();
101 while ($file = readdir($fh)) {
102 if ($file !="." && $file !=".." && !is_dir($this->getAbsolutePath() . "/" . $file)) {
103 $files[] = $file;
104 }
105 }
106 closedir($fh);
107
108 return $files;
109 }
110
118 public function uploadFile($file)
119 {
120 $path = $this->getAbsolutePath();
121
122 $clean_name = preg_replace("/[^a-zA-Z0-9\_\.\-]/", "", $file["name"]);
123 $new_file = $path . "/" . $clean_name;
124
125 ilUtil::moveUploadedFile(
126 $file["tmp_name"],
127 $clean_name, // This parameter does not do a thing
128 $new_file
129 );
130
131 return true;
132 }
133
137 public function deleteCurrentFile()
138 {
139 $files = $this->readDir();
140 $this->deleteFile($this->getAbsolutePath() . "/" . $files[0]);
141 }
142
148 public function getFilePath()
149 {
150 $files = $this->readDir();
151 return $this->getAbsolutePath() . "/" . $files[0];
152 }
153
159 public function deleteFileByName($file_name)
160 {
161 $this->deleteFile($this->getAbsolutePath() . "/" . $file_name);
162 }
163}
$files
Definition: add-vimline.php:18
An exception for terminatinating execution or to throw for unit testing.
deleteFile($a_abs_name)
Delete file.
Handles the fileupload and folder creation for files uploaded in grading form.
getPathPostfix()
part of the folder structure in ILIAS webdir.
isEmpty()
Is the webdir folder for this IA empty.
getPathPrefix()
part of the folder structure in ILIAS webdir.
setUserId($user_id)
Set the user id for an extra folder of each participant in the IA.
static makeDirParents($a_dir)
Create a new directory and all parent directories.
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file