ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilUploadDirFilesTableGUI.php
Go to the documentation of this file.
1<?php
2
24{
25 protected string $upload_dir;
27
28 public function __construct(
29 object $a_parent_obj,
30 string $a_parent_cmd,
31 array $a_files
32 ) {
33 global $DIC;
34
35 $this->ctrl = $DIC->ctrl();
36 $this->lng = $DIC->language();
37 $this->access = $DIC->access();
38 $ilCtrl = $DIC->ctrl();
39 $lng = $DIC->language();
40
41 $import_directory_factory = new ilImportDirectoryFactory();
42 $mob_import_directory = $import_directory_factory->getInstanceForComponent(ilImportDirectoryFactory::TYPE_MOB);
43 $this->upload_dir = $mob_import_directory->getAbsolutePath();
44
45 parent::__construct($a_parent_obj, $a_parent_cmd);
46 $this->setData($this->getFiles($a_files));
47 $this->setTitle($lng->txt("mep_upload_dir_files"));
48 $this->setLimit(9999);
49
50 $this->addColumn("", "", "1", true);
51 $this->addColumn($this->lng->txt("mep_file"));
52 $this->setOpenFormTag(false);
53
54 $this->setEnableHeader(true);
55 $this->setFormAction($ilCtrl->getFormAction($a_parent_obj));
56 $this->setRowTemplate("tpl.upload_dir_files_row.html", "components/ILIAS/MediaPool");
57 $this->disable("footer");
58 $this->setEnableTitle(true);
59 $this->setSelectAllCheckbox("file[]");
60
61 $this->addMultiCommand("createMediaFromUploadDir", $lng->txt("mep_create_media_files"));
62 }
63
67 public function getFiles(array $a_files): array
68 {
69 $files = array();
70 foreach ($a_files as $f) {
71 if (is_file($this->upload_dir . "/" . $f)) {
72 $files[] = ["file" => $f];
73 } elseif (is_dir($this->upload_dir . "/" . $f)) {
74 $dir = ilFileUtils::getDir($this->upload_dir . "/" . $f, true);
75 foreach ($dir as $d) {
76 if ($d["type"] === "file") {
77 $files[] = ["file" => $f . $d["subdir"] . "/" . $d["entry"]];
78 }
79 }
80 }
81 }
82 return $files;
83 }
84
85 protected function fillRow(array $a_set): void
86 {
87 $this->tpl->setVariable("TXT_FILE", $a_set["file"]);
88 $this->tpl->setVariable("VAL_FILE", $a_set["file"]);
89 }
90}
static getDir(string $a_dir, bool $a_rec=false, ?string $a_sub_dir="")
get directory
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setLimit(int $a_limit=0, int $a_default_limit=0)
set max.
setOpenFormTag(bool $a_val)
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
setEnableTitle(bool $a_enabletitle)
addMultiCommand(string $a_cmd, string $a_text)
setFormAction(string $a_form_action, bool $a_multipart=false)
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
setEnableHeader(bool $a_enableheader)
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
setData(array $a_data)
Set table data.
ilLanguage $lng
disable(string $a_module_name)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(object $a_parent_obj, string $a_parent_cmd, array $a_files)
fillRow(array $a_set)
Standard Version of Fill Row.
Interface ilAccessHandler This interface combines all available interfaces which can be called via gl...
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
global $DIC
Definition: shib_login.php:26