5require_once(
"./Services/Bookmarks/classes/class.ilBookmarkFolder.php");
 
    6require_once(
"./Services/Bookmarks/classes/class.ilBookmark.php");
 
    7require_once(
"./Services/Table/classes/class.ilTableGUI.php");
 
   75        $this->
user = $DIC->user();
 
   76        $this->toolbar = 
$DIC->toolbar();
 
   77        $this->
error = $DIC[
"ilErr"];
 
   78        $this->tabs = 
$DIC->tabs();
 
   86        $tpl->getStandardTemplate();
 
   90        $this->
id = (empty(
$_GET[
"bmf_id"]))
 
   98        $this->ctrl->setParameter($this, 
"bmf_id", $this->
id);
 
   99        $this->user_id = 
$ilUser->getId();
 
  101        $this->tree = 
new ilTree($this->user_id);
 
  102        $this->tree->setTableNames(
'bookmark_tree', 
'bookmark_data');
 
  103        $this->root_id = $this->tree->readRootId();
 
  105        $this->lng->loadLanguageModule(
"bkm");
 
  107        $this->mode = 
"tree";
 
  115        $next_class = $this->ctrl->getNextClass();
 
  117        switch ($next_class) {
 
  119                $cmd = $this->ctrl->getCmd(
"view");
 
  122                if ($this->
getMode() == 
'tree') {
 
  127        $this->tpl->show(
true);
 
  133        switch (
$_POST[
"selected_cmd"]) {
 
  166        include_once(
"./Services/Bookmarks/classes/class.ilBookmarkExplorerGUI.php");
 
  168        if (!$exp->handleCommand()) {
 
  169            $tpl->setLeftNavContent($exp->getHTML());
 
  183        if ($this->message) {
 
  188        $this->tpl->setTitle($this->lng->txt(
"bookmarks"));
 
  198        if ($this->
id > 0 && !$this->tree->isInTree($this->id)) {
 
  199            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  200            $this->ctrl->redirect($this);
 
  203        $ilToolbar->addButton(
 
  204            $this->lng->txt(
"bookmark_new"),
 
  205            $this->ctrl->getLinkTarget($this, 
"newFormBookmark")
 
  207        $ilToolbar->addButton(
 
  208            $this->lng->txt(
"bookmark_folder_new"),
 
  209            $this->ctrl->getLinkTarget($this, 
"newFormBookmarkFolder")
 
  214        include_once 
'Services/Bookmarks/classes/class.ilBookmarkAdministrationTableGUI.php';
 
  216        $table->setId(
'bookmark_adm_table');
 
  217        $table->setData($objects);
 
  218        $this->tpl->setVariable(
"ADM_CONTENT", 
$table->getHTML());
 
  227            $this->tpl->setCurrentBlock(
"begin_link");
 
  228            $this->tpl->setVariable(
"LINK_TARGET", $link);
 
  229            $this->tpl->parseCurrentBlock();
 
  230            $this->tpl->touchBlock(
"end_link");
 
  233        $this->tpl->setCurrentBlock(
"text");
 
  234        $this->tpl->setVariable(
"TEXT_CONTENT", $val);
 
  235        $this->tpl->parseCurrentBlock();
 
  236        $this->tpl->setCurrentBlock(
"table_cell");
 
  237        $this->tpl->parseCurrentBlock();
 
  247        if (empty($this->
id)) {
 
  251        if (!$this->tree->isInTree($this->id)) {
 
  255        $this->tpl->addBlockFile(
"LOCATOR", 
"locator", 
"tpl.locator.html", 
"Services/Locator");
 
  257        $path = $this->tree->getPathFull($this->
id);
 
  262        $this->tpl->setVariable(
"TXT_LOCATOR", $this->lng->txt(
"locator"));
 
  263        $this->tpl->touchBlock(
"locator_separator");
 
  264        $this->tpl->touchBlock(
"locator_item");
 
  274                $this->tpl->touchBlock(
"locator_separator");
 
  277            $this->tpl->setCurrentBlock(
"locator_item");
 
  279                $lng->txt(
"bookmarks") :
 
  281            $this->tpl->setVariable(
"ITEM", 
$title);
 
  282            $this->ctrl->setParameter($this, 
"bmf_id", 
$row[
"child"]);
 
  283            $this->tpl->setVariable(
 
  285                $this->ctrl->getLinkTarget($this)
 
  287            $this->tpl->parseCurrentBlock();
 
  290        $this->tpl->setCurrentBlock(
"locator");
 
  292        $this->tpl->parseCurrentBlock();
 
  319        if (!$this->tree->isInTree($this->id)) {
 
  320            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  321            $this->ctrl->redirect($this);
 
  325        $this->tpl->setVariable(
"ADM_CONTENT", 
$form->getHTML());
 
  338        if (!$this->tree->isInTree($this->id)) {
 
  339            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  340            $this->ctrl->redirect($this);
 
  343        include_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
  345        $form->setTopAnchor(
"bookmark_top");
 
  347        $form->setTitle(
$lng->txt(
"bookmark_folder_new"));
 
  349        if (
$action == 
'updateBookmarkFolder') {
 
  350            $ilCtrl->setParameter($this, 
'bmf_id', $this->
id);
 
  351            $ilCtrl->setParameter($this, 
'obj_id', 
$_GET[
"obj_id"]);
 
  354        $hash = (
$ilUser->prefs[
"screen_reader_optimization"])
 
  360        $ilCtrl->clearParameters($this);
 
  364        $prop->setRequired(
true);
 
  365        $form->addItem($prop);
 
  369        $form->addCommandButton(
'cancel', 
$lng->txt(
'cancel'));
 
  378        if (!$this->tree->isInTree(
$_GET[
"obj_id"])) {
 
  379            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  380            $this->ctrl->setParameter($this, 
'obj_id', 
'');
 
  381            $this->ctrl->redirect($this);
 
  386        $form->setValuesByArray(
 
  388                "title"  => $this->
get_last(
"title", $bmf->getTitle()),
 
  389                "obj_id" => 
$_GET[
"obj_id"],
 
  392        $this->tpl->setVariable(
"ADM_CONTENT", 
$form->getHTML());
 
  406        if (!$this->tree->isInTree($this->id)) {
 
  407            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  408            $this->ctrl->redirect($this);
 
  411        include_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
  413        $form->setTopAnchor(
"bookmark_top");
 
  415        $form->setTitle(
$lng->txt(
"bookmark_new"));
 
  417        if (
$action == 
'updateBookmark') {
 
  418            $ilCtrl->setParameter($this, 
'bmf_id', $this->
id);
 
  419            $ilCtrl->setParameter($this, 
'obj_id', 
$_GET[
"obj_id"]);
 
  422        $hash = (
$ilUser->prefs[
"screen_reader_optimization"])
 
  427        $ilCtrl->clearParameters($this);
 
  430        $prop->setValue(
$_GET[
'bm_title']);
 
  431        $prop->setRequired(
true);
 
  432        $form->addItem($prop);
 
  436        $form->addItem($prop);
 
  440        $prop->setValue(
$_GET[
'bm_link']);
 
  441        $prop->setRequired(
true);
 
  442        $form->addItem($prop);
 
  445        if (
$_GET[
'return_to']) {
 
  447            $prop->setValue(
$_GET[
'return_to']);
 
  448            $form->addItem($prop);
 
  451            if (
$_GET[
'return_to_url']) {
 
  452                $prop->setValue(
$_GET[
'return_to_url']);
 
  454                $prop->setValue(
$_GET[
'bm_link']);
 
  456            $form->addItem($prop);
 
  461        $form->addCommandButton(
'cancel', 
$lng->txt(
'cancel'));
 
  486        if (!$this->tree->isInTree($this->id)) {
 
  487            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  488            $this->ctrl->redirect($this);
 
  491        include_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
  493        $form->setFormAction(
$ilCtrl->getFormAction($this, 
"importFile")); 
 
  494        $form->setTopAnchor(
"bookmark_top");
 
  495        $form->setTitle(
$lng->txt(
"bkm_import"));
 
  498        $fi->setRequired(
true);
 
  501        $form->addCommandButton(
"importFile", 
$lng->txt(
'import'));
 
  502        $form->addCommandButton(
'cancel', 
$lng->txt(
'cancel'));
 
  515        if (!$_REQUEST[
"bm_link"]) {
 
  517            $html2 = 
"<br />" . $form2->getHTML();
 
  519        $this->tpl->setVariable(
"ADM_CONTENT", 
$html1 . 
$html2);
 
  528        return (!empty(
$_POST[$a_var])) ?
 
  541        if (!$this->tree->isInTree(
$_GET[
"obj_id"])) {
 
  542            $this->ctrl->setParameter($this, 
'obj_id', 
'');
 
  543            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  544            $this->ctrl->redirect($this);
 
  549        $form->setValuesByArray(
 
  551                "title"       => $bookmark->getTitle(),
 
  552                "target"      => $bookmark->getTarget(),
 
  553                "description" => $bookmark->getDescription(),
 
  554                "obj_id"      => 
$_GET[
"obj_id"],
 
  557        $this->tpl->setVariable(
"ADM_CONTENT", 
$form->getHTML());
 
  566        if (!$this->tree->isInTree($this->id)) {
 
  567            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  568            $this->ctrl->redirect($this);
 
  572        if (empty(
$_POST[
"title"])) {
 
  579            $bmf->setParent($this->
id);
 
  585            $ilCtrl->saveParameter($this, 
'bmf_id');
 
  586            $ilCtrl->redirect($this, 
'view');
 
  596        if (!$this->tree->isInTree(
$_GET[
"obj_id"])) {
 
  597            $this->ctrl->setParameter($this, 
'obj_id', 
'');
 
  598            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  599            $this->ctrl->redirect($this);
 
  603        if (empty(
$_POST[
"title"])) {
 
  613            $ilCtrl->saveParameter($this, 
'bmf_id');
 
  614            $ilCtrl->redirect($this, 
'view');
 
  627        if (!$this->tree->isInTree($this->id)) {
 
  628            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  629            $this->ctrl->redirect($this);
 
  633        if (empty(
$_POST[
"title"])) {
 
  636        } elseif (empty(
$_POST[
"target"])) {
 
  645            $bm->setParent($this->
id);
 
  650            $ilCtrl->saveParameter($this, 
'bmf_id');
 
  651            $ilCtrl->redirect($this, 
'view');
 
  660        if (!$this->tree->isInTree(
$_GET[
"obj_id"])) {
 
  661            $this->ctrl->setParameter($this, 
'obj_id', 
'');
 
  662            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  663            $this->ctrl->redirect($this);
 
  667        if (empty(
$_POST[
"title"])) {
 
  670        } elseif (empty(
$_POST[
"target"])) {
 
  695            $ilErr->raiseError($this->lng->txt(
"no_checkbox"), 
$ilErr->MESSAGE);
 
  697        $export_ids = array();
 
  698        foreach ($bm_ids as 
$id) {
 
  699            if ($this->tree->isInTree(
$id)) {
 
  706        require_once(
"./Services/Bookmarks/classes/class.ilBookmarkImportExport.php");
 
  710            $this->lng->txt(
"bookmarks_of") . 
" " . 
$ilUser->getFullname()
 
  716            return $html_content;
 
  726        include_once 
'./Services/Mail/classes/class.ilFileDataMail.php';
 
  727        require_once 
"Services/Mail/classes/class.ilFormatMail.php";
 
  731        $html_content = $this->
export(
false);
 
  733        $fp           = fopen($tempfile, 
'w');
 
  734        fwrite($fp, $html_content);
 
  737        $mfile->copyAttachmentFile($tempfile, 
$filename);
 
  738        $umail->savePostData(
 
  751        require_once 
'Services/Mail/classes/class.ilMailFormCall.php';
 
  758    public function delete()
 
  764            $ilErr->raiseError($this->lng->txt(
"no_checkbox"), 
$ilErr->MESSAGE);
 
  767        $this->ctrl->setParameter($this, 
"bmf_id", $this->
id);
 
  770        include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  772        $cgui->setFormAction($this->ctrl->getFormAction($this));
 
  773        $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
 
  774        $cgui->setCancel($this->lng->txt(
"cancel"), 
"cancel");
 
  775        $cgui->setConfirm($this->lng->txt(
"confirm"), 
"confirm");
 
  777        foreach ($bm_ids as $obj_id) {
 
  780            if (!$this->tree->isInTree($obj_id)) {
 
  787                    $title          = $BookmarkFolder->getTitle();
 
  789                    unset($BookmarkFolder);
 
  794                    $title    = $Bookmark->getTitle();
 
  795                    $target   = $Bookmark->getTarget();
 
  806            $cgui->addItem(
"id[]", $obj_id, $caption);
 
  809        $this->tpl->setContent($cgui->getHTML());
 
  829            $ilErr->raiseError($this->lng->txt(
"no_checkbox"), 
$ilErr->MESSAGE);
 
  837            if ($this->tree->isInTree(
$id)) {
 
  838                $node_data     = $this->tree->getNodeData(
$id);
 
  839                $subtree_nodes = $this->tree->getSubTree($node_data);
 
  845            $this->tree->deleteTree($node_data);
 
  848            foreach ($subtree_nodes as $node) {
 
  849                switch ($node[
"type"]) {
 
  852                        $BookmarkFolder->delete();
 
  876            "delete"  => $this->lng->txt(
"delete"),
 
  877            "export"  => $this->lng->txt(
"export"),
 
  878            "sendmail"=> $this->lng->txt(
"bkm_sendmail"),
 
  881        $subobj = array(
"bm", 
"bmf");
 
  883        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();
 
  919        include_once(
"./Services/Bookmarks/classes/class.ilBookmarkBlockGUI.php");
 
  922        return $bookmark_block_gui->getHTML();
 
  933        if (!$this->tree->isInTree($this->id)) {
 
  934            $this->ctrl->setParameter($this, 
'bmf_id', 
'');
 
  935            $this->ctrl->redirect($this);
 
  938        if ($_FILES[
"bkmfile"][
"error"] > UPLOAD_ERR_OK) {
 
  943        require_once(
"./Services/Bookmarks/classes/class.ilBookmarkImportExport.php");
 
  945        if ($objects === 
false) {
 
  951        $num_create = array(
'bm'=> 0, 
'bmf'=> 0);
 
  955            $this->lng->txt(
"bkm_import_ok"),
 
  972        if (is_array($objects[$start_key])) {
 
  973            foreach ($objects[$start_key] as $obj_key=> $object) {
 
  974                switch ($object[
'type']) {
 
  976                        if (!$object[
"title"]) {
 
  979                        if (!$object[
"target"]) {
 
  983                        $bm->setTitle($object[
"title"]);
 
  984                        $bm->setDescription($object[
"description"]);
 
  985                        $bm->setTarget($object[
"target"]);
 
  986                        $bm->setParent($folder_id);
 
  991                        if (!$object[
"title"]) {
 
  995                        $bmf->setTitle($object[
"title"]);
 
  996                        $bmf->setParent($folder_id);
 
  998                        $num_create[
'bmf']++;
 
  999                        if (is_array($objects[$obj_key])) {
 
 1019        $bm_ids = $_REQUEST[
'bm_id'];
 
 1020        if (!$bm_ids && 
$_GET[
"bm_id_tgt"] == 
"") {
 
 1022            return $this->
view();
 
 1025        $ilTabs->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTarget($this));
 
 1027        $this->ctrl->setParameter($this, 
"bm_id_tgt", 
$_GET[
"bm_id_tgt"] ?  
$_GET[
"bm_id_tgt"] : implode(
";", $bm_ids));
 
 1029        include_once(
"./Services/Bookmarks/classes/class.ilBookmarkMoveExplorerGUI.php");
 
 1031        if (!$exp->handleCommand()) {
 
 1032            $this->mode = 
"flat";
 
 1033            $this->tpl->setContent($exp->getHTML());
 
 1041        $tgt    = (int) $_REQUEST[
"bmfmv_id"];
 
 1042        $bm_ids = explode(
";", $_REQUEST[
'bm_id_tgt']);
 
 1043        if (!$bm_ids || !$tgt) {
 
 1045            return $this->
view();
 
 1049        $tree->setTableNames(
'bookmark_tree', 
'bookmark_data');
 
 1051        $tgt_node = 
$tree->getNodeData($tgt);
 
 1054        foreach ($bm_ids as $node_id) {
 
 1055            if (
$tree->isGrandChild($node_id, $tgt)) {
 
 1057                $this->ctrl->redirect($this, 
"view");
 
 1060            $node = 
$tree->getNodeData($node_id);
 
 1063            if ($node[
"parent"] == $tgt) {
 
 1067            $tree->moveTree($node_id, $tgt);
 
 1071        $this->ctrl->setParameter($this, 
"bmf_id", $tgt);
 
 1072        $this->ctrl->redirect($this, 
"view");
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
GUI class for personal bookmark administration.
updateBookmarkFolder()
update bookmark folder
executeCommand()
execute command
createBookmark()
create new bookmark in db
displayLocator()
display locator
showPossibleSubObjects()
display subobject addition selection
newFormBookmark()
display new bookmark form
explorer()
output explorer tree with bookmark folders
__importBookmarks(&$objects, &$num_create, $folder_id, $start_key=0)
creates the bookmarks and folders
export($deliver=true)
export bookmarks
getMode()
return display mode flat or tree
newFormBookmarkFolder()
display new bookmark folder form
editFormBookmarkFolder()
display edit bookmark folder form
importFile()
imports a bookmark file into database display status information or report errors messages in case of...
displayHeader()
display header and locator
createBookmarkFolder()
create new bookmark folder in db
updateBookmark()
update bookmark in db
__construct()
Constructor @access public.
confirm()
deletion confirmed -> delete folders / bookmarks
sendmail()
send bookmarks as attachment
initFormBookmarkFolder($action='createBookmarkFolder')
init bookmark folder create/edit form
initFormBookmark($action='createBookmark')
init Bookmark create/edit form
cancel()
cancel deletion,insert, update
get_last($a_var, $a_value)
get stored post var in case of an error/warning otherwise return passed value
initImportBookmarksForm()
Init import bookmark form.
editFormBookmark()
display edit bookmark form
getHTML()
Get Bookmark list for personal desktop.
add_cell($val, $link="")
output a cell in object list
Table GUI for Bookmark management.
BlockGUI class for Bookmarks block.
Bookmark explorer GUI class.
bookmark folder (note: this class handles personal bookmarks folders only)
static getObjects($a_id)
static
static _parseFile($file)
parse Bookmark file static method returns 3 dimensional array of bookmarks and folders
static _exportBookmark($obj_ids, $recursive=true, $title='')
export bookmarks static method return html string
Bookmark explorer GUI class.
Class Bookmarks Bookmark management.
static _getTypeOfId($a_id)
get type of a given id
Confirmation screen class.
This class handles all operations on files (attachments) in directory ilias_data/mail.
This class represents a text area property in a property form.
This class represents a text property in a property form.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
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...
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
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.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static shortenText( $a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
static infoPanel($a_keep=true)
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
if(empty($password)) $table
if(isset($_POST['submit'])) $form