5 require_once (
"./Services/Bookmarks/classes/class.ilBookmarkFolder.php");
6 require_once (
"./Services/Bookmarks/classes/class.ilBookmark.php");
7 require_once (
"./Services/Table/classes/class.ilTableGUI.php");
53 $tpl->getStandardTemplate();
57 $this->
id = (empty(
$_GET[
"bmf_id"]))
66 $this->ctrl->setParameter($this,
"bmf_id", $this->
id);
67 $this->user_id = $ilUser->getId();
69 $this->tree =
new ilTree($this->user_id);
70 $this->tree->setTableNames(
'bookmark_tree',
'bookmark_data');
71 $this->root_id = $this->tree->readRootId();
73 $this->lng->loadLanguageModule(
"bkm");
83 $next_class = $this->ctrl->getNextClass();
88 $cmd = $this->ctrl->getCmd(
"view");
97 $this->tpl->show(
true);
103 switch(
$_POST[
"selected_cmd"])
137 include_once(
"./Services/Bookmarks/classes/class.ilBookmarkExplorerGUI.php");
139 if (!$exp->handleCommand())
141 $tpl->setLeftNavContent($exp->getHTML());
161 $this->tpl->setTitle($this->lng->txt(
"bookmarks"));
171 if($this->
id > 0 && !$this->tree->isInTree($this->id))
173 $this->ctrl->setParameter($this,
'bmf_id',
'');
174 $this->ctrl->redirect($this);
177 $ilToolbar->addButton($this->lng->txt(
"bookmark_new"),
178 $this->ctrl->getLinkTarget($this,
"newFormBookmark"));
179 $ilToolbar->addButton($this->lng->txt(
"bookmark_folder_new"),
180 $this->ctrl->getLinkTarget($this,
"newFormBookmarkFolder"));
184 include_once
'Services/Bookmarks/classes/class.ilBookmarkAdministrationTableGUI.php';
186 $table->setId(
'bookmark_adm_table');
187 $table->setData($objects);
188 $this->tpl->setVariable(
"ADM_CONTENT", $table->getHTML());
198 $this->tpl->setCurrentBlock(
"begin_link");
199 $this->tpl->setVariable(
"LINK_TARGET", $link);
200 $this->tpl->parseCurrentBlock();
201 $this->tpl->touchBlock(
"end_link");
204 $this->tpl->setCurrentBlock(
"text");
205 $this->tpl->setVariable(
"TEXT_CONTENT", $val);
206 $this->tpl->parseCurrentBlock();
207 $this->tpl->setCurrentBlock(
"table_cell");
208 $this->tpl->parseCurrentBlock();
223 if(!$this->tree->isInTree($this->id))
228 $this->tpl->addBlockFile(
"LOCATOR",
"locator",
"tpl.locator.html",
"Services/Locator");
230 $path = $this->tree->getPathFull($this->
id);
235 $this->tpl->setVariable(
"TXT_LOCATOR", $this->lng->txt(
"locator"));
236 $this->tpl->touchBlock(
"locator_separator");
237 $this->tpl->touchBlock(
"locator_item");
247 if($key < count(
$path) - $modifier)
249 $this->tpl->touchBlock(
"locator_separator");
252 $this->tpl->setCurrentBlock(
"locator_item");
254 $lng->txt(
"bookmarks") :
256 $this->tpl->setVariable(
"ITEM",
$title);
257 $this->ctrl->setParameter($this,
"bmf_id",
$row[
"child"]);
258 $this->tpl->setVariable(
"LINK_ITEM",
259 $this->ctrl->getLinkTarget($this));
260 $this->tpl->parseCurrentBlock();
263 $this->tpl->setCurrentBlock(
"locator");
265 $this->tpl->parseCurrentBlock();
292 if(!$this->tree->isInTree($this->id))
294 $this->ctrl->setParameter($this,
'bmf_id',
'');
295 $this->ctrl->redirect($this);
299 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
310 if(!$this->tree->isInTree($this->id))
312 $this->ctrl->setParameter($this,
'bmf_id',
'');
313 $this->ctrl->redirect($this);
316 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
318 $form->setTopAnchor(
"bookmark_top");
320 $form->setTitle($lng->txt(
"bookmark_folder_new"));
322 if($action ==
'updateBookmarkFolder')
324 $ilCtrl->setParameter($this,
'bmf_id', $this->
id);
325 $ilCtrl->setParameter($this,
'obj_id',
$_GET[
"obj_id"]);
328 $hash = ($ilUser->prefs[
"screen_reader_optimization"])
332 $form->setFormAction($ilCtrl->getFormAction($this, $action, $hash));
334 $ilCtrl->clearParameters($this);
339 $form->addItem($prop);
342 $form->addCommandButton($action, $lng->txt(
'save'));
343 $form->addCommandButton(
'cancel', $lng->txt(
'cancel'));
352 if(!$this->tree->isInTree(
$_GET[
"obj_id"]))
354 $this->ctrl->setParameter($this,
'bmf_id',
'');
355 $this->ctrl->setParameter($this,
'obj_id',
'');
356 $this->ctrl->redirect($this);
361 $form->setValuesByArray
365 "title" => $this->
get_last(
"title", $bmf->getTitle()),
366 "obj_id" =>
$_GET[
"obj_id"],
369 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
381 if(!$this->tree->isInTree($this->id))
383 $this->ctrl->setParameter($this,
'bmf_id',
'');
384 $this->ctrl->redirect($this);
387 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
389 $form->setTopAnchor(
"bookmark_top");
391 $form->setTitle($lng->txt(
"bookmark_new"));
393 if($action ==
'updateBookmark')
395 $ilCtrl->setParameter($this,
'bmf_id', $this->
id);
396 $ilCtrl->setParameter($this,
'obj_id',
$_GET[
"obj_id"]);
399 $hash = ($ilUser->prefs[
"screen_reader_optimization"])
403 $form->setFormAction($ilCtrl->getFormAction($this, $action, $hash));
404 $ilCtrl->clearParameters($this);
408 $prop->setRequired(
true);
409 $form->addItem($prop);
413 $form->addItem($prop);
416 $prop =
new ilTextInputGUI($lng->txt(
'bookmark_target'),
'target');
418 $prop->setRequired(
true);
419 $form->addItem($prop);
422 if(
$_GET[
'return_to'])
425 $prop->setValue(
$_GET[
'return_to']);
426 $form->addItem($prop);
429 if(
$_GET[
'return_to_url'])
430 $prop->setValue(
$_GET[
'return_to_url']);
432 $prop->setValue(
$_GET[
'bm_link']);
433 $form->addItem($prop);
437 $form->addCommandButton($action, $lng->txt(
'save'));
438 $form->addCommandButton(
'cancel', $lng->txt(
'cancel'));
461 if(!$this->tree->isInTree($this->id))
463 $this->ctrl->setParameter($this,
'bmf_id',
'');
464 $this->ctrl->redirect($this);
467 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
469 $form->setFormAction($ilCtrl->getFormAction($this,
"importFile"));
470 $form->setTopAnchor(
"bookmark_top");
471 $form->setTitle($lng->txt(
"bkm_import"));
477 $form->addCommandButton(
"importFile", $lng->txt(
'import'));
478 $form->addCommandButton(
'cancel', $lng->txt(
'cancel'));
489 $html1 = $form->getHTML();
491 if(!$_REQUEST[
"bm_link"])
494 $html2 =
"<br />" . $form2->getHTML();
496 $this->tpl->setVariable(
"ADM_CONTENT",
$html1 .
$html2);
505 return (!empty(
$_POST[$a_var])) ?
517 if(!$this->tree->isInTree(
$_GET[
"obj_id"]))
519 $this->ctrl->setParameter($this,
'obj_id',
'');
520 $this->ctrl->setParameter($this,
'bmf_id',
'');
521 $this->ctrl->redirect($this);
526 $form->setValuesByArray
530 "title" => $bookmark->getTitle(),
531 "target" => $bookmark->getTarget(),
532 "description" => $bookmark->getDescription(),
533 "obj_id" =>
$_GET[
"obj_id"],
536 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
545 if(!$this->tree->isInTree($this->id))
547 $this->ctrl->setParameter($this,
'bmf_id',
'');
548 $this->ctrl->redirect($this);
552 if(empty(
$_POST[
"title"]))
562 $bmf->setParent($this->
id);
568 $ilCtrl->saveParameter($this,
'bmf_id');
569 $ilCtrl->redirect($this,
'view');
579 if(!$this->tree->isInTree(
$_GET[
"obj_id"]))
581 $this->ctrl->setParameter($this,
'obj_id',
'');
582 $this->ctrl->setParameter($this,
'bmf_id',
'');
583 $this->ctrl->redirect($this);
587 if(empty(
$_POST[
"title"]))
600 $ilCtrl->saveParameter($this,
'bmf_id');
601 $ilCtrl->redirect($this,
'view');
613 if(!$this->tree->isInTree($this->id))
615 $this->ctrl->setParameter($this,
'bmf_id',
'');
616 $this->ctrl->redirect($this);
620 if(empty(
$_POST[
"title"]))
625 else if(empty(
$_POST[
"target"]))
637 $bm->setParent($this->
id);
642 $ilCtrl->saveParameter($this,
'bmf_id');
643 $ilCtrl->redirect($this,
'view');
652 if(!$this->tree->isInTree(
$_GET[
"obj_id"]))
654 $this->ctrl->setParameter($this,
'obj_id',
'');
655 $this->ctrl->setParameter($this,
'bmf_id',
'');
656 $this->ctrl->redirect($this);
660 if(empty(
$_POST[
"title"]))
665 else if(empty(
$_POST[
"target"]))
691 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
693 $export_ids =
array();
694 foreach($bm_ids as $id)
696 if($this->tree->isInTree($id))
704 require_once (
"./Services/Bookmarks/classes/class.ilBookmarkImportExport.php");
706 $this->lng->txt(
"bookmarks_of") .
" " . $this->
ilias->account->getFullname());
714 return $html_content;
724 include_once
'./Services/Mail/classes/class.ilFileDataMail.php';
725 require_once
"Services/Mail/classes/class.ilFormatMail.php";
729 $html_content = $this->
export(
false);
731 $fp = fopen($tempfile,
'w');
732 fwrite($fp, $html_content);
735 $mfile->copyAttachmentFile($tempfile,
$filename);
741 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
753 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
756 $this->ctrl->setParameter($this,
"bmf_id", $this->
id);
759 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
761 $cgui->setFormAction($this->ctrl->getFormAction($this));
762 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
763 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancel");
764 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirm");
766 foreach($bm_ids as $obj_id)
770 if(!$this->tree->isInTree($obj_id))
779 $title = $BookmarkFolder->getTitle();
781 unset($BookmarkFolder);
786 $title = $Bookmark->getTitle();
787 $target = $Bookmark->getTarget();
799 $cgui->addItem(
"id[]", $obj_id, $caption);
802 $this->tpl->setContent($cgui->getHTML());
818 global
$tree, $rbacsystem, $rbacadmin;
822 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
826 foreach(
$_POST[
"id"] as $id)
831 if($this->tree->isInTree($id))
833 $node_data = $this->tree->getNodeData($id);
834 $subtree_nodes = $this->tree->getSubTree($node_data);
842 $this->tree->deleteTree($node_data);
845 foreach($subtree_nodes as $node)
847 switch($node[
"type"])
851 $BookmarkFolder->delete();
875 "delete" => $this->lng->txt(
"delete"),
876 "export" => $this->lng->txt(
"export"),
877 "sendmail"=> $this->lng->txt(
"bkm_sendmail"),
880 $subobj =
array(
"bm",
"bmf");
882 if(is_array($subobj))
887 $this->tpl->setCurrentBlock(
"add_object");
888 $this->tpl->setVariable(
"COLUMN_COUNTS", 7);
889 $this->tpl->setVariable(
"SELECT_OBJTYPE", $opts);
890 $this->tpl->setVariable(
"BTN_NAME",
"newForm");
891 $this->tpl->setVariable(
"TXT_ADD", $this->lng->txt(
"add"));
892 $this->tpl->parseCurrentBlock();
895 $this->tpl->setVariable(
"TPLPATH", $this->tpl->tplPath);
897 $this->tpl->setCurrentBlock(
"tbl_action_select");
898 $this->tpl->setVariable(
"SELECT_ACTION",
ilUtil::formSelect(
$_SESSION[
"error_post_vars"][
'action'],
"action", $actions,
false,
true));
899 $this->tpl->setVariable(
"BTN_NAME",
"executeAction");
900 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"execute"));
911 $this->tpl->parseCurrentBlock();
920 include_once(
"./Services/Bookmarks/classes/class.ilBookmarkBlockGUI.php");
923 return $bookmark_block_gui->getHTML();
934 if(!$this->tree->isInTree($this->id))
936 $this->ctrl->setParameter($this,
'bmf_id',
'');
937 $this->ctrl->redirect($this);
940 if($_FILES[
"bkmfile"][
"error"] > UPLOAD_ERR_OK)
946 require_once (
"./Services/Bookmarks/classes/class.ilBookmarkImportExport.php");
948 if($objects ===
false)
955 $num_create =
array(
'bm'=> 0,
'bmf'=> 0);
959 $num_create[
'bmf']));
975 if(is_array($objects[$start_key]))
977 foreach($objects[$start_key] as $obj_key=> $object)
979 switch($object[
'type'])
982 if(!$object[
"title"])
continue;
983 if(!$object[
"target"])
continue;
985 $bm->setTitle($object[
"title"]);
986 $bm->setDescription($object[
"description"]);
987 $bm->setTarget($object[
"target"]);
988 $bm->setParent($folder_id);
993 if(!$object[
"title"])
continue;
995 $bmf->setTitle($object[
"title"]);
996 $bmf->setParent($folder_id);
998 $num_create[
'bmf']++;
999 if(is_array($objects[$obj_key]))
1002 $bmf->getId(), $obj_key);
1014 $bm_ids = $_REQUEST[
'bm_id'];
1015 if(!$bm_ids &&
$_GET[
"bm_id_tgt"] ==
"")
1018 return $this->
view();
1021 $ilTabs->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTarget($this));
1023 $this->ctrl->setParameter($this,
"bm_id_tgt",
$_GET[
"bm_id_tgt"] ?
$_GET[
"bm_id_tgt"] : implode(
";", $bm_ids));
1025 include_once(
"./Services/Bookmarks/classes/class.ilBookmarkMoveExplorerGUI.php");
1027 if (!$exp->handleCommand())
1029 $this->mode =
"flat";
1030 $this->tpl->setContent($exp->getHTML());
1038 $tgt = (int)$_REQUEST[
"bmfmv_id"];
1039 $bm_ids = explode(
";", $_REQUEST[
'bm_id_tgt']);
1040 if(!$bm_ids || !$tgt)
1043 return $this->
view();
1046 $tree =
new ilTree($ilUser->getId());
1049 $tgt_node = $tree->getNodeData($tgt);
1052 foreach($bm_ids as $node_id)
1054 if($tree->isGrandChild($node_id, $tgt))
1057 $this->ctrl->redirect($this,
"view");
1060 $node = $tree->getNodeData($node_id);
1063 if($node[
"parent"] == $tgt)
1068 $tree->moveTree($node_id, $tgt);
1072 $this->ctrl->setParameter($this,
"bmf_id", $tgt);
1073 $this->ctrl->redirect($this,
"view");
displayHeader()
display header and locator
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
Class Bookmarks Bookmark management.
initImportBookmarksForm()
Init import bookmark form.
getMode()
return display mode flat or tree
createBookmark()
create new bookmark in db
Bookmark explorer GUI class.
createBookmarkFolder()
create new bookmark folder in db
BlockGUI class for Bookmarks block.
sendmail()
send bookmarks as attachment
editFormBookmarkFolder()
display edit bookmark folder form
This class handles all operations on files (attachments) in directory ilias_data/mail.
export($deliver=true)
export bookmarks
static getImageTagByType($a_type, $a_path, $a_big=false)
Builds an html image tag TODO: function still in use, but in future use getImagePath and move HTML-Co...
showPossibleSubObjects()
display subobject addition selection
__importBookmarks(&$objects, &$num_create, $folder_id, $start_key=0)
creates the bookmarks and folders
updateBookmark()
update bookmark in db
editFormBookmark()
display edit bookmark form
static shortenText($a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
Bookmark explorer GUI class.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
confirm()
deletion confirmed -> delete folders / bookmarks
newFormBookmark()
display new bookmark form
importFile()
imports a bookmark file into database display status information or report errors messages in case of...
static formSelect($selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
explorer()
output explorer tree with bookmark folders
This class represents a text property in a property form.
static infoPanel($a_keep=true)
redirection script todo: (a better solution should control the processing via a xml file) ...
GUI class for personal bookmark administration.
add_cell($val, $link="")
output a cell in object list
setTableNames($a_table_tree, $a_table_obj_data, $a_table_obj_reference="")
set table names The primary key of the table containing your object_data must be 'obj_id' You may use...
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
Table GUI for Bookmark management.
static _getTypeOfId($a_id)
get type of a given id
__construct()
Constructor public.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
Create styles array
The data for the language used.
executeCommand()
execute command
initFormBookmark($action='createBookmark')
init Bookmark create/edit form
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static _exportBookmark($obj_ids, $recursive=true, $title='')
export bookmarks static method return html string
initFormBookmarkFolder($action='createBookmarkFolder')
init bookmark folder create/edit form
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
displayLocator()
display locator
bookmark folder (note: this class handles personal bookmarks folders only)
This class represents a text area property in a property form.
newFormBookmarkFolder()
display new bookmark folder form
static getObjects($a_id)
static
getHTML()
Get Bookmark list for personal desktop.
setValue($a_value)
Set Value.
static redirect($a_script)
http redirect to other script
cancel()
cancel deletion,insert, update
updateBookmarkFolder()
update bookmark folder
static _parseFile($file)
parse Bookmark file static method returns 3 dimensional array of bookmarks and folders ...
get_last($a_var, $a_value)
get stored post var in case of an error/warning otherwise return passed value
Confirmation screen class.