23                 $this->ilias =& $ilias;
 
   25                 $this->main_dir = $a_main_directory;
 
   26                 $this->commands = array();
 
   27                 $this->file_labels = array();
 
   28                 $this->label_enable = 
false;
 
   29                 $this->ctrl->saveParameter($this, 
"cdir");
 
   30                 $lng->loadLanguageModule(
"content");
 
   42                 $this->allow_directories = $a_val;
 
   52                 return $this->allow_directories;
 
   62                 $this->table_id = $a_val;
 
   72                 return $this->table_id;
 
   82                 $this->title = $a_val;
 
  103                 if (!is_array($pars))
 
  107                 $_SESSION[
"fsys"][
"lastcomm"] = array_merge(
 
  128                 $next_class = $this->ctrl->getNextClass($this);
 
  129                 $cmd = $this->ctrl->getCmd();
 
  135                                 if (substr(
$cmd, 0, 11) == 
"extCommand_")
 
  155                 $i = count($this->commands);
 
  157                 $this->commands[$i][
"object"] =& $a_obj;
 
  158                 $this->commands[$i][
"method"] = $a_func;
 
  159                 $this->commands[$i][
"name"] = $a_name;
 
  170                 $this->file_labels[$a_file][] = $a_label;
 
  178                 $this->label_enable = $a_act;
 
  179                 $this->label_header = $a_label_header;
 
  187                 if (!isset(
$_POST[
"file"]))
 
  189                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
  192                 if (count(
$_POST[
"file"]) > 1)
 
  194                         $this->ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
 
  197                 if (
$_POST[
"file"][0] == 
".." )
 
  199                         $this->ilias->raiseError($this->lng->txt(
"select_a_file"),$this->ilias->error_obj->MESSAGE);
 
  203                 $file = (!empty($cur_subdir))
 
  210                         $this->ilias->raiseError($this->lng->txt(
"select_a_file"),$this->ilias->error_obj->MESSAGE);
 
  213                 $file = (!empty($cur_subdir))
 
  217                 $obj =& $this->commands[$a_nr][
"object"];
 
  218                 $method = $this->commands[$a_nr][
"method"];
 
  221                 return $obj->$method(
$file);
 
  240                 if($new_subdir == 
"..")
 
  242                         $cur_subdir = substr($cur_subdir, 0, strrpos($cur_subdir, 
"/"));
 
  246                         if (!empty($new_subdir))
 
  248                                 if (!empty($cur_subdir))
 
  250                                         $cur_subdir = $cur_subdir.
"/".$new_subdir;
 
  254                                         $cur_subdir = $new_subdir;
 
  259                 $cur_subdir = str_replace(
"..", 
"", $cur_subdir);
 
  261                 $cur_dir = (!empty($cur_subdir))
 
  262                         ? $this->main_dir.
"/".$cur_subdir
 
  265                 $this->ctrl->setParameter($this, 
"cdir", $cur_subdir);
 
  268                 $ilToolbar->setFormAction($ilCtrl->getFormAction($this), 
true);
 
  269                 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
 
  273                         $ti = 
new ilTextInputGUI($this->lng->txt(
"cont_new_dir"), 
"new_dir");
 
  276                         $ilToolbar->addInputItem($ti, 
true);
 
  277                         $ilToolbar->addFormButton($lng->txt(
"create"), 
"createDirectory");
 
  279                         $ilToolbar->addSeparator();
 
  282                 include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
 
  283                 $fi = 
new ilFileInputGUI($this->lng->txt(
"cont_new_file"), 
"new_file");
 
  285                 $ilToolbar->addInputItem($fi, 
true);
 
  286                 $ilToolbar->addFormButton($lng->txt(
"upload"), 
"uploadFile");
 
  288                 include_once 
'Services/FileSystemStorage/classes/class.ilUploadFiles.php';
 
  291                         $ilToolbar->addSeparator();
 
  293                         $options[
""] = $lng->txt(
"cont_select_from_upload_dir"); 
 
  296                                 $file = htmlspecialchars($file, ENT_QUOTES, 
"utf-8");
 
  299                         include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
 
  300                         $si = 
new ilSelectInputGUI($this->lng->txt(
"cont_uploaded_file"), 
"uploaded_file");
 
  302                         $ilToolbar->addInputItem($si, 
true);
 
  303                         $ilToolbar->addFormButton($lng->txt(
"copy"), 
"uploadFile");
 
  308                 include_once(
"./Services/FileSystemStorage/classes/class.ilFileSystemTableGUI.php");
 
  310                         $this->label_enable, $this->file_labels, $this->label_header, $this->commands);
 
  314                         $fs_table->setTitle($this->
getTitle());
 
  316                 if (
$_GET[
"resetoffset"] == 1)
 
  318                         $fs_table->resetOffset();
 
  320                 $this->tpl->setContent($fs_table->getHTML());
 
  328                 if (!isset(
$_POST[
"file"]))
 
  330                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
  333                 if (count(
$_POST[
"file"]) > 1)
 
  335                         $this->ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
 
  340                         $this->ilias->raiseError($this->lng->txt(
"select_a_file"),$this->ilias->error_obj->MESSAGE);
 
  344                 $file = (!empty($cur_subdir))
 
  349                 $this->tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.file_rename.html", 
false);
 
  352                 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this, 
"renameFile"));
 
  355                         $this->tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"cont_rename_dir"));
 
  359                         $this->tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"rename_file"));
 
  361                 $this->tpl->setVariable(
"TXT_NAME", $this->lng->txt(
"name"));
 
  363                 $this->tpl->setVariable(
"CMD_CANCEL", 
"cancelRename");
 
  364                 $this->tpl->setVariable(
"CMD_SUBMIT", 
"renameFile");
 
  365                 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
 
  366                 $this->tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"rename"));
 
  368                 $this->tpl->parseCurrentBlock();
 
  379                 $new_name = str_replace(
"/", 
"", $new_name);
 
  382                         $this->ilias->raiseError($this->lng->txt(
"enter_new_name"),$this->ilias->error_obj->MESSAGE);
 
  386                 $dir = (!empty($cur_subdir))
 
  387                         ? $this->main_dir.
"/".$cur_subdir.
"/" 
  388                         : $this->main_dir.
"/";
 
  390                 rename(
$dir.ilUtil::stripSlashes(
$_GET[
"old_name"]), 
$dir.$new_name);
 
  393                 if (@is_dir(
$dir.$new_name))
 
  397                                 "new_name" => $new_name));
 
  403                                 "new_name" => $new_name));
 
  405                 $this->ctrl->redirect($this, 
"listFiles");
 
  413                 $this->ctrl->redirect($this, 
"listFiles");
 
  425                 $cur_dir = (!empty($cur_subdir))
 
  426                         ? $this->main_dir.
"/".$cur_subdir
 
  430                 $new_dir = str_replace(
"/", 
"", $new_dir);
 
  432                 if (!empty($new_dir))
 
  435                         if (is_dir($cur_dir.
"/".$new_dir))
 
  445                 $this->ctrl->saveParameter($this, 
"cdir");
 
  446                 $this->ctrl->redirect($this, 
"listFiles");
 
  458                 $cur_dir = (!empty($cur_subdir))
 
  459                         ? $this->main_dir.
"/".$cur_subdir
 
  463                 include_once 
'Services/FileSystemStorage/classes/class.ilUploadFiles.php';
 
  465                 if (is_file($_FILES[
"new_file"][
"tmp_name"]))
 
  467                         move_uploaded_file($_FILES[
"new_file"][
"tmp_name"],
 
  477                 elseif (
$_POST[
"uploaded_file"])
 
  493                 else if (trim($_FILES[
"new_file"][
"name"]) == 
"")
 
  498                 $this->ctrl->saveParameter($this, 
"cdir");
 
  502                 $this->ctrl->redirect($this, 
"listFiles");
 
  512                 if (!is_array(
$_POST[
"file"]) || count(
$_POST[
"file"]) == 0)
 
  515                         $ilCtrl->redirect($this, 
"listFile");
 
  519                         include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  521                         $cgui->setFormAction($ilCtrl->getFormAction($this));
 
  522                         $cgui->setHeaderText($lng->txt(
"info_delete_sure"));
 
  523                         $cgui->setCancel($lng->txt(
"cancel"), 
"listFiles");
 
  524                         $cgui->setConfirm($lng->txt(
"delete"), 
"deleteFile");
 
  526                         foreach (
$_POST[
"file"] as $i)
 
  528                                 $cgui->addItem(
"file[]", $i, $i);
 
  531                         $tpl->setContent($cgui->getHTML());
 
  542                 if (!isset(
$_POST[
"file"]))
 
  544                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
  547                 foreach (
$_POST[
"file"] as $post_file)
 
  551                                 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
  556                         $cur_dir = (!empty($cur_subdir))
 
  557                                 ? $this->main_dir.
"/".$cur_subdir
 
  573                 $this->ctrl->saveParameter($this, 
"cdir");
 
  586                 $this->ctrl->redirect($this, 
"listFiles");
 
  596                 if (!isset(
$_POST[
"file"]))
 
  598                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
  601                 if (count(
$_POST[
"file"]) > 1)
 
  603                         $this->ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
 
  607                 $cur_dir = (!empty($cur_subdir))
 
  608                         ? $this->main_dir.
"/".$cur_subdir
 
  626                 $this->ctrl->saveParameter($this, 
"cdir");
 
  628                 $this->ctrl->redirect($this, 
"listFiles");
 
  636                 if (!isset(
$_POST[
"file"]))
 
  638                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
  641                 if (count(
$_POST[
"file"]) > 1)
 
  643                         $this->ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
 
  647                 $cur_dir = (!empty($cur_subdir))
 
  648                         ? $this->main_dir.
"/".$cur_subdir
 
  656                         if($entry[
"type"] == 
"file" &&
 
  657                                 $cur_dir.
"/".$entry[
"entry"] == 
$file)
 
  671                         $this->ctrl->saveParameter($this, 
"cdir");
 
  672                         $this->ctrl->redirect($this, 
"listFiles");
 
  683                 $ilCtrl->setParameter($this, 
"resetoffset", 1);
 
  684                 $tabs_gui->addTarget(
"cont_list_files",
 
  685                         $this->ctrl->getLinkTarget($this, 
"listFiles"), 
"listFiles",
 
  687                 $ilCtrl->setParameter($this, 
"resetoffset", 
"");