4 require_once(
"./Services/COPage/classes/class.ilPCFileList.php");
5 require_once(
"./Services/COPage/classes/class.ilPageContentGUI.php");
24 function __construct(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id =
"")
26 parent::__construct($a_pg_obj, $a_content_obj, $a_hier_id, $a_pc_id);
36 $next_class = $this->ctrl->getNextClass($this);
41 $cmd = $this->ctrl->getCmd();
60 if (
$_GET[
"subCmd"] ==
"insertNew")
62 $_SESSION[
"cont_file_insert"] =
"insertNew";
64 if (
$_GET[
"subCmd"] ==
"insertFromRepository")
66 $_SESSION[
"cont_file_insert"] =
"insertFromRepository";
68 if (
$_GET[
"subCmd"] ==
"insertFromWorkspace")
70 $_SESSION[
"cont_file_insert"] =
"insertFromWorkspace";
72 if ((
$_GET[
"subCmd"] ==
"") &&
$_SESSION[
"cont_file_insert"] !=
"")
77 switch (
$_GET[
"subCmd"])
79 case "insertFromWorkspace":
83 case "insertFromRepository":
93 $ilTabs->setSubTabActive(
"cont_new_file");
98 $this->tpl->setContent($form->getHTML());
112 $ilTabs->setSubTabActive(
"cont_file_from_repository");
117 $this->tpl->setContent($form->getHTML());
127 if ($a_cmd ==
"insert")
136 $ilTabs->setSubTabActive(
"cont_file_from_repository");
138 include_once
"./Services/COPage/classes/class.ilFileSelectorGUI.php";
142 if (
$_GET[
"expand"] ==
"")
144 $expanded = $tree->readRootId();
148 $expanded =
$_GET[
"expand"];
150 $exp->setExpand($expanded);
152 $exp->setTargetGet(
"sel_id");
154 $ilCtrl->setParameter($this,
"subCmd",
"insertFromRepository");
155 $exp->setParamsGet($this->ctrl->getParameterArray($this, $a_cmd));
158 $exp->setFiltered(
true);
160 $exp->addFilter(
"root");
161 $exp->addFilter(
"cat");
162 $exp->addFilter(
"grp");
163 $exp->addFilter(
"fold");
164 $exp->addFilter(
"crs");
165 $exp->addFilter(
"file");
167 $sel_types =
array(
'file');
171 $tpl->setContent($exp->getOutput());
181 if ($a_cmd ==
"insert")
190 $ilTabs->setSubTabActive(
"cont_file_from_workspace");
193 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
197 include_once(
"./Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php");
201 include_once(
"./Services/PersonalWorkspace/classes/class.ilWorkspaceExplorer.php");
203 'filelist_wspexpand', $tree, $acc_handler);
204 $exp->setTargetGet(
'fl_wsp_id');
205 $exp->setFiltered(
false);
206 $exp->removeAllFormItemTypes();
209 $exp->setTypeClickable(
"file");
210 $ilCtrl->setParameter($this,
"subCmd",
"selectFile");
211 $exp->setCustomLinkTarget($ilCtrl->getLinkTarget($this, $a_cmd));
214 $exp->setFiltered(
true);
216 $exp->addFilter(
"wsrt");
217 $exp->addFilter(
"wfld");
218 $exp->addFilter(
"file");
221 $ilCtrl->setParameter($this,
"subCmd",
"insertFromWorkspace");
222 $exp->setParamsGet($ilCtrl->getParameterArray($this, $a_cmd));
224 if(
$_GET[
'filelist_wspexpand'] ==
'')
226 $expanded = $tree->readRootId();
230 $expanded =
$_GET[
'filelist_wspexpand'];
232 $exp->setExpand($expanded);
235 $tpl->setContent($exp->getOutput());
243 include_once(
"./Modules/File/classes/class.ilObjFile.php");
249 if(substr(
$_POST[
"file_ref_id"], 0, 4) ==
"wsp_")
254 else if (
$_POST[
"file_ref_id"] == 0)
257 $fileObj->setType(
"file");
258 $fileObj->setTitle($_FILES[
"file"][
"name"]);
259 $fileObj->setDescription(
"");
260 $fileObj->setFileName($_FILES[
"file"][
"name"]);
261 $fileObj->setFileType($_FILES[
"file"][
"type"]);
262 $fileObj->setFileSize($_FILES[
"file"][
"size"]);
263 $fileObj->setMode(
"filelist");
266 $fileObj->createDirectory();
267 $fileObj->raiseUploadError(
false);
268 $fileObj->getUploadFile($_FILES[
"file"][
"tmp_name"],
269 $_FILES[
"file"][
"name"]);
280 $this->content_obj->create($this->pg_obj, $this->hier_id, $this->pc_id);
282 $this->content_obj->appendItem($fileObj->getId(), $fileObj->getFileName(),
283 $fileObj->getFileType());
285 $this->updated = $this->pg_obj->update();
286 if ($this->updated ===
true)
288 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
304 $this->tpl->setContent($form->getHTML());
316 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
319 if ($a_mode !=
"add_file")
328 require_once(
"Services/MetaData/classes/class.ilMDLanguageItem.php");
335 if (in_array($a_mode,
array(
"create",
"add_file")))
342 else if (in_array($a_mode,
array(
"select_file")))
347 if(isset(
$_GET[
"file_ref_id"]))
349 include_once(
"./Modules/File/classes/class.ilObjFile.php");
351 if (is_object($file_obj))
355 $hi->setValue((
int) $_GET[
"file_ref_id"]);
358 $ne->setValue($file_obj->getTitle());
361 else if(isset(
$_GET[
"fl_wsp_id"]))
364 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
368 include_once(
"./Modules/File/classes/class.ilObjFile.php");
369 $file_obj =
new ilObjFile($node[
"obj_id"],
false);
370 if (is_object($file_obj))
374 $hi->setValue(
"wsp_".(
int) $node[
"obj_id"]);
377 $ne->setValue($file_obj->getTitle());
379 $this->tpl->parseCurrentBlock();
389 $ti->setValue($this->content_obj->getListTitle());
390 $si->setValue($this->content_obj->getLanguage());
391 $form->addCommandButton(
"saveProperties", $lng->txt(
"save"));
392 $form->addCommandButton(
"cancelUpdate", $lng->txt(
"cancel"));
393 $form->setTitle($lng->txt(
"cont_edit_file_list_properties"));
400 $s_lang =
$_SESSION[
"il_text_lang_".$_GET[
"ref_id"]];
404 $s_lang = $ilUser->getLanguage();
406 $si->setValue($s_lang);
407 $form->addCommandButton(
"create_flst", $lng->txt(
"save"));
408 $form->addCommandButton(
"cancelCreate", $lng->txt(
"cancel"));
409 $form->setTitle($lng->txt(
"cont_insert_file_list"));
413 $form->addCommandButton(
"insertNewFileItem", $lng->txt(
"save"));
414 $form->addCommandButton(
"editFiles", $lng->txt(
"cancel"));
415 $form->setTitle($lng->txt(
"cont_insert_file_item"));
419 $form->setFormAction($ilCtrl->getFormAction($this));
432 $this->updated = $this->pg_obj->update();
433 if ($this->updated ===
true)
435 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
439 $this->pg_obj->addHierIDs();
453 $ilToolbar->addButton($lng->txt(
"cont_add_file"),
454 $ilCtrl->getLinkTarget($this,
"addFileItem"));
456 include_once(
"./Services/COPage/classes/class.ilPCFileListTableGUI.php");
458 $tpl->setContent($table_gui->getHTML());
472 $ilCtrl->setParameter($this,
"subCmd",
"insertNew");
473 $ilTabs->addSubTabTarget(
"cont_new_file",
474 $ilCtrl->getLinkTarget($this,
$cmd),
$cmd);
476 $ilCtrl->setParameter($this,
"subCmd",
"insertFromRepository");
477 $ilTabs->addSubTabTarget(
"cont_file_from_repository",
478 $ilCtrl->getLinkTarget($this,
$cmd),
$cmd);
479 $ilCtrl->setParameter($this,
"subCmd",
"");
481 if(!$ilSetting->get(
"disable_personal_workspace") &&
482 !$ilSetting->get(
"disable_wsp_files"))
484 $ilCtrl->setParameter($this,
"subCmd",
"insertFromWorkspace");
485 $ilTabs->addSubTabTarget(
"cont_file_from_workspace",
486 $ilCtrl->getLinkTarget($this,
$cmd),
$cmd);
487 $ilCtrl->setParameter($this,
"subCmd",
"");
492 $ilTabs->setBackTarget($lng->txt(
"pg"),
493 $this->ctrl->getParentReturn($this));
495 $ilTabs->addTarget(
"cont_ed_edit_files",
496 $ilCtrl->getLinkTarget($this,
"editFiles"),
"editFiles",
499 $ilTabs->addTarget(
"cont_ed_edit_prop",
500 $ilCtrl->getLinkTarget($this,
"edit"),
"edit",
514 $files = $this->content_obj->getFileList();
518 $ilCtrl->setParameterByClass(
"ilpcfileitemgui",
"hier_id",
520 $ilCtrl->setParameterByClass(
"ilpcfileitemgui",
"pc_id",
522 $ilCtrl->redirectByClass(
"ilpcfileitemgui",
"newItemAfter");
526 $ilCtrl->redirect($this,
"newFileItem");
537 if (is_array(
$_POST[
"fid"]))
540 foreach(
$_POST[
"fid"] as $k => $v)
544 $this->content_obj->deleteFileItems($ids);
546 $this->updated = $this->pg_obj->update();
547 $ilCtrl->redirect($this,
"editFiles");
557 if (is_array(
$_POST[
"position"]))
559 $this->content_obj->savePositions(
$_POST[
"position"]);
561 $this->updated = $this->pg_obj->update();
562 $ilCtrl->redirect($this,
"editFiles");
572 if (is_array(
$_POST[
"position"]))
574 $this->content_obj->savePositions(
$_POST[
"position"]);
576 if (is_array(
$_POST[
"class"]))
578 $this->content_obj->saveStyleClasses(
$_POST[
"class"]);
580 $this->updated = $this->pg_obj->update();
581 $ilCtrl->redirect($this,
"editFiles");
592 $classes = $this->content_obj->getAllClasses();
593 if (count($chars) > 1)
597 foreach ($classes as $class)
599 if ($class !=
"" && $class !=
"FileListItem")
623 if (
$_GET[
"subCmd"] ==
"insertNew")
625 $_SESSION[
"cont_file_insert"] =
"insertNew";
627 if (
$_GET[
"subCmd"] ==
"insertFromRepository")
629 $_SESSION[
"cont_file_insert"] =
"insertFromRepository";
631 if (
$_GET[
"subCmd"] ==
"insertFromWorkspace")
633 $_SESSION[
"cont_file_insert"] =
"insertFromWorkspace";
635 if ((
$_GET[
"subCmd"] ==
"") &&
$_SESSION[
"cont_file_insert"] !=
"")
640 switch (
$_GET[
"subCmd"])
642 case "insertFromWorkspace":
646 case "insertFromRepository":
656 $ilTabs->setSubTabActive(
"cont_new_file");
661 $this->tpl->setContent($form->getHTML());
674 if(isset(
$_GET[
"fl_wsp_id"]))
677 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
681 include_once(
"./Modules/File/classes/class.ilObjFile.php");
682 $file_obj =
new ilObjFile($node[
"obj_id"],
false);
685 else if ($a_file_ref_id == 0)
692 include_once(
"./Modules/File/classes/class.ilObjFile.php");
693 $file_obj =
new ilObjFile($a_file_ref_id);
695 if (is_object($file_obj))
697 $this->content_obj->appendItem($file_obj->getId(),
698 $file_obj->getTitle(), $file_obj->getFileType());
699 $this->updated = $this->pg_obj->update();
700 if ($this->updated ===
true)
703 $this->ctrl->redirect($this,
"editFiles");
707 $_GET[
"subCmd"] =
"-";
718 if ($_FILES[
"file"][
"name"] ==
"")
720 $_GET[
"subCmd"] =
"-";
729 include_once(
"./Modules/File/classes/class.ilObjFile.php");
731 $fileObj->setType(
"file");
732 $fileObj->setTitle($_FILES[
"file"][
"name"]);
733 $fileObj->setDescription(
"");
734 $fileObj->setFileName($_FILES[
"file"][
"name"]);
735 $fileObj->setFileType($_FILES[
"file"][
"type"]);
736 $fileObj->setFileSize($_FILES[
"file"][
"size"]);
737 $fileObj->setMode(
"filelist");
739 $fileObj->raiseUploadError(
false);
741 $fileObj->createDirectory();
742 $fileObj->getUploadFile($_FILES[
"file"][
"tmp_name"],
743 $_FILES[
"file"][
"name"]);
756 $ilTabs->addTarget(
"cont_back",
757 $this->ctrl->getParentReturn($this),
"",
762 $ilCtrl->setParameter($this,
"subCmd",
"insertNew");
763 $ilTabs->addSubTabTarget(
"cont_new_file",
764 $ilCtrl->getLinkTarget($this, $a_cmd), $a_cmd);
766 $ilCtrl->setParameter($this,
"subCmd",
"insertFromRepository");
767 $ilTabs->addSubTabTarget(
"cont_file_from_repository",
768 $ilCtrl->getLinkTarget($this, $a_cmd), $a_cmd);
769 $ilCtrl->setParameter($this,
"subCmd",
"");
771 if(!$ilSetting->get(
"disable_personal_workspace") &&
772 !$ilSetting->get(
"disable_wsp_files"))
774 $ilCtrl->setParameter($this,
"subCmd",
"insertFromWorkspace");
775 $ilTabs->addSubTabTarget(
"cont_file_from_workspace",
776 $ilCtrl->getLinkTarget($this, $a_cmd), $a_cmd);
777 $ilCtrl->setParameter($this,
"subCmd",
"");
getCharacteristicsOfCurrentStyle($a_type)
Get characteristics of current style.
edit()
edit properties form
newFileItem()
New file item (called, if there is no file item in an existing)
insertFromWorkspace($a_cmd="insert")
Insert file from personal workspace.
setTabs($a_create=true)
Set Tabs.
setItemTabs($a_cmd="")
output tabs
initEditForm($a_mode="edit")
Init edit form.
createFileItem()
insert new file item
deleteFileItem()
Delete file items from list.
Access handler for personal workspace.
__construct(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id="")
Constructor public.
Tree handler for personal workspace.
Select file for being added into file lists.
setCharacteristics($a_chars)
Set Characteristics.
User Interface for Editing of Page Content Objects (Paragraphs, Tables, ...)
executeCommand()
execute command
insertNewFileItem($a_file_ref_id=0)
insert new file item after another item
getNodeData($a_node_id, $a_tree_pk=null)
get all information of a node.
displayValidationError()
display validation errors
This class represents a text property in a property form.
insertFromRepository($a_cmd="insert")
Insert file from repository.
setMaxLength($a_maxlength)
Set Max Length.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
getCharacteristics()
Get characteristics.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
checkStyleSelection()
Checks whether style selection shoudl be available or not.
This class represents a non editable value in a property form.
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
create()
create new file list in dom and update page in db
saveProperties()
save table properties in db and return to page edit screen
TableGUI class for file list.
savePositionsAndClasses()
Save positions of file items and style classes.
addFileItem()
Add file item.
savePositions()
Save positions of file items.
insert()
insert new file list form