1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 18 /** 19 * Class simulating empty directories. 20 * 21 * @package core_files 22 * @copyright 2008 Petr Skoda (http://skodak.org) 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26 defined('MOODLE_INTERNAL') || die(); 27 28 /** 29 * Represents the root directory of an empty file area in the tree navigated by {@link file_browser}. 30 * 31 * @package core_files 32 * @copyright 2008 Petr Skoda (http://skodak.org) 33 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 34 */ 35 class virtual_root_file { 36 /** @var int context id */ 37 protected $contextid; 38 /** @var string file component */ 39 protected $component; 40 /** @var string file area */ 41 protected $filearea; 42 /** @var int file itemid */ 43 protected $itemid; 44 45 /** 46 * Constructor 47 * 48 * @param int $contextid context ID 49 * @param string $component component 50 * @param string $filearea file area 51 * @param int $itemid item ID 52 */ 53 public function __construct($contextid, $component, $filearea, $itemid) { 54 $this->contextid = $contextid; 55 $this->component = $component; 56 $this->filearea = $filearea; 57 $this->itemid = $itemid; 58 } 59 60 /** 61 * Whether or not this is a directory 62 * 63 * @return bool 64 */ 65 public function is_directory() { 66 return true; 67 } 68 69 /** 70 * Delete file 71 * 72 * @return success 73 */ 74 public function delete() { 75 return true; 76 } 77 78 /** 79 * adds this file path to a curl request (POST only) 80 * 81 * @param curl $curlrequest the curl request object 82 * @param string $key what key to use in the POST request 83 */ 84 public function add_to_curl_request(&$curlrequest, $key) { 85 return; 86 } 87 88 /** 89 * Returns file handle - read only mode, no writing allowed into pool files! 90 * 91 * @return resource file handle 92 */ 93 public function get_content_file_handle() { 94 return null; 95 } 96 97 /** 98 * Dumps file content to page 99 * 100 * @return resource file handle 101 */ 102 public function readfile() { 103 return; 104 } 105 106 /** 107 * Returns file content as string 108 * 109 * @return string content 110 */ 111 public function get_content() { 112 return ''; 113 } 114 115 /** 116 * Copy content of file to given pathname 117 * 118 * @param string $pathname real path to new file 119 * @return bool success 120 */ 121 public function copy_content_to($pathname) { 122 return false; 123 } 124 125 /** 126 * List contents of archive 127 * 128 * @param file_packer $packer file packer instance 129 * @return array of file infos 130 */ 131 public function list_files(file_packer $packer) { 132 return null; 133 } 134 135 /** 136 * Extract file to given file path (real OS filesystem), existing files are overwrited 137 * 138 * @param file_packer $packer file packer instance 139 * @param string $pathname target directory 140 * @return mixed list of processed files; false if error 141 */ 142 public function extract_to_pathname(file_packer $packer, $pathname) { 143 return false; 144 } 145 146 /** 147 * Extract file to given file path (real OS filesystem), existing files are overwrited 148 * 149 * @param file_packer $packer file packer instance 150 * @param int $contextid context ID 151 * @param string $component component 152 * @param string $filearea file area 153 * @param int $itemid item ID 154 * @param string $pathbase path base 155 * @param int $userid user ID 156 * @return mixed list of processed files; false if error 157 */ 158 public function extract_to_storage(file_packer $packer, $contextid, $component, $filearea, $itemid, $pathbase, $userid = NULL) { 159 return false; 160 } 161 162 /** 163 * Add file/directory into archive 164 * 165 * @param file_archive $filearch file archive instance 166 * @param string $archivepath pathname in archive 167 * @return bool success 168 */ 169 public function archive_file(file_archive $filearch, $archivepath) { 170 return false; 171 } 172 173 /** 174 * Returns parent directory 175 * 176 * @return stored_file 177 */ 178 public function get_parent_directory() { 179 return null; 180 } 181 182 /** 183 * Returns context ID 184 * 185 * @return int context ID 186 */ 187 public function get_contextid() { 188 return $this->contextid; 189 } 190 191 /** 192 * Returns file component 193 * 194 * @return string component 195 */ 196 public function get_component() { 197 return $this->component; 198 } 199 200 /** 201 * Returns file area 202 * 203 * @return string filearea 204 */ 205 public function get_filearea() { 206 return $this->filearea; 207 } 208 209 /** 210 * Returns file itemid 211 * 212 * @return int itemid 213 */ 214 public function get_itemid() { 215 return $this->itemid; 216 } 217 218 /** 219 * Returns file path 220 * 221 * @return string filepath 222 */ 223 public function get_filepath() { 224 return '/'; 225 } 226 227 /** 228 * Returns file name 229 * 230 * @return string filename 231 */ 232 public function get_filename() { 233 return '.'; 234 } 235 236 /** 237 * Returns user ID 238 * 239 * @return int userid 240 */ 241 public function get_userid() { 242 return null; 243 } 244 245 /** 246 * Returns file size 247 * 248 * @return int filesize 249 */ 250 public function get_filesize() { 251 return 0; 252 } 253 254 /** 255 * Returns mimetype 256 * 257 * @return string mimetype 258 */ 259 public function get_mimetype() { 260 return null; 261 } 262 263 /** 264 * Returns time created 265 * 266 * @return int 267 */ 268 public function get_timecreated() { 269 return 0; 270 } 271 272 /** 273 * Returns time modified 274 * 275 * @return int 276 */ 277 public function get_timemodified() { 278 return 0; 279 } 280 281 /** 282 * Returns status 283 * 284 * @return int 285 */ 286 public function get_status() { 287 return 0; 288 } 289 290 /** 291 * Returns ID 292 * 293 * @return int 294 */ 295 public function get_id() { 296 return 0; 297 } 298 299 /** 300 * Returns sha1 hash code 301 * 302 * @return string 303 */ 304 public function get_contenthash() { 305 return sha1(''); 306 } 307 308 /** 309 * Returns path name hash 310 * 311 * @return string 312 */ 313 public function get_pathnamehash() { 314 return sha1('/'.$this->get_contextid().'/'.$this->get_component().'/'.$this->get_filearea().'/'.$this->get_itemid().$this->get_filepath().$this->get_filename()); 315 } 316 317 /** 318 * Returns license 319 * 320 * @return string 321 */ 322 public function get_license() { 323 return null; 324 } 325 326 /** 327 * Returns file's author 328 * 329 * @return string 330 */ 331 public function get_author() { 332 return null; 333 } 334 335 /** 336 * Returns file source 337 * 338 * @return string 339 */ 340 public function get_source() { 341 return null; 342 } 343 344 /** 345 * Returns file sort order 346 * 347 * @return int 348 */ 349 public function get_sortorder() { 350 return null; 351 } 352 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body