6 include_once (
"Services/Notes/classes/class.ilNote.php");
 
   31         function ilNoteGUI($a_rep_obj_id = 
"", $a_obj_id = 
"", $a_obj_type = 
"", $a_include_subobjects = 
false)
 
   35                 $lng->loadLanguageModule(
"notes");
 
   37                 $ilCtrl->saveParameter($this, 
"notes_only");
 
   38                 $this->only = 
$_GET[
"notes_only"];
 
   40                 $this->rep_obj_id = $a_rep_obj_id;
 
   41                 $this->obj_id = $a_obj_id;
 
   42                 $this->obj_type = $a_obj_type;
 
   43                 $this->inc_sub = $a_include_subobjects;
 
   46                 if(!$this->obj_type && $a_rep_obj_id)
 
   51                 $this->ajax = $ilCtrl->isAsynch();
 
   56                 $this->anchor_jump = 
true;
 
   57                 $this->add_note_form = 
false;
 
   58                 $this->edit_note_form = 
false;
 
   59                 $this->private_enabled = 
false;
 
   61                 $id = $this->rep_obj_id.
"_".$this->obj_id.
"_".$this->obj_type;
 
   65                         $this->public_enabled = 
true;
 
   69                         $this->public_enabled = 
false;
 
   71                 $this->enable_hiding = 
false;
 
   72                 $this->targets_enabled = 
false;
 
   73                 $this->multi_selection = 
false;
 
   74                 $this->export_html = 
false;
 
   76                 $this->comments_settings = 
false;
 
   78                 $this->note_img = array(
 
   81                                 "alt" => $lng->txt(
"note")),
 
   84                                 "alt" => $lng->txt(
"note").
", ".$lng->txt(
"important")),
 
   87                                 "alt" => $lng->txt(
"note").
", ".$lng->txt(
"question")),
 
   90                                 "alt" => $lng->txt(
"note").
", ".$lng->txt(
"pro")),
 
   93                                 "alt" => $lng->txt(
"note").
", ".$lng->txt(
"contra"))
 
   96                 $this->comment_img = array(
 
   99                                 "alt" => $lng->txt(
"notes_comment")),
 
  102                                 "alt" => $lng->txt(
"notes_comment").
", ".$lng->txt(
"important")),
 
  105                                 "alt" => $lng->txt(
"notes_comment").
", ".$lng->txt(
"question")),
 
  108                                 "alt" => $lng->txt(
"notes_comment").
", ".$lng->txt(
"pro")),
 
  111                                 "alt" => $lng->txt(
"notes_comment").
", ".$lng->txt(
"contra"))
 
  123                 $cmd = $this->ctrl->getCmd(
"getNotesHTML");
 
  124                 $next_class = $this->ctrl->getNextClass($this);
 
  129                                 return $this->
$cmd();
 
  139                 $this->private_enabled = $a_enable;
 
  147                 $this->public_enabled =  $a_enable;
 
  155                 $this->comments_settings = $a_enable;
 
  163                 $this->public_deletion_enabled =  $a_enable;
 
  171                 $this->enable_hiding = $a_enable;
 
  179                 $this->targets_enabled = $a_enable;
 
  187                 $this->multi_selection = $a_enable;
 
  195                 $this->anchor_jump = $a_enable;
 
  205                 $this->repository_mode = (bool)$a_value;
 
  218                 $ilCtrl->setParameter($this, 
"notes_only", 
"notes");
 
  219                 $this->only = 
"notes";
 
  232                 $ilCtrl->setParameter($this, 
"notes_only", 
"comments");
 
  233                 $this->only = 
"comments";
 
  245                 $lng->loadLanguageModule(
"notes");
 
  247                 $ntpl = 
new ilTemplate(
"tpl.notes_and_comments.html", 
true, 
true,
 
  251                 $hide_comments = ($this->only == 
"notes");
 
  252                 $hide_notes = ($this->only == 
"comments");
 
  253                 switch($ilCtrl->getCmd())
 
  261                                         $hide_comments = 
true;
 
  272 if ($this->private_enabled && $this->public_enabled
 
  273         && $this->only != 
"notes")
 
  275         $this->private_enabled = 
false;
 
  279                 if ($this->private_enabled && ($ilUser->getId() != ANONYMOUS_USER_ID)
 
  282                         $ntpl->setCurrentBlock(
"notes_col");
 
  284                         $ntpl->parseCurrentBlock();
 
  288                 $comments_col = 
false;
 
  289                 if ($this->public_enabled && (!$this->delete_note || $this->public_deletion_enabled)
 
  293                         $comments_col = 
true;
 
  297                 if ($this->comments_settings && !$hide_comments && !$this->delete_note
 
  298                         && !$this->edit_note_form && !$this->add_note_form && $ilUser->getId() != ANONYMOUS_USER_ID)
 
  300                         $notes_settings = 
new ilSetting(
"notes");
 
  301                         $id = $this->rep_obj_id.
"_".$this->obj_id.
"_".$this->obj_type;
 
  307                                 $this->
renderLink($ntpl, 
"comments_settings", $lng->txt(
"notes_deactivate_comments"),
 
  308                                         "deactivateComments", 
"notes_top");
 
  309                                 $ntpl->setCurrentBlock(
"comments_settings2");
 
  313                                 $this->
renderLink($ntpl, 
"comments_settings", $lng->txt(
"notes_activate_comments"),
 
  314                                         "activateComments", 
"notes_top");
 
  315                                 $ntpl->setCurrentBlock(
"comments_settings2");
 
  317                                 if ($this->ajax && !$comments_col)
 
  319                                         $ntpl->setVariable(
"COMMENTS_MESS",
 
  320                                                 $ntpl->getMessageHTML($lng->txt(
"comments_feature_currently_not_activated_for_object"), 
"info"));
 
  323                         $ntpl->parseCurrentBlock();
 
  327                                 $ntpl->setVariable(
"COMMENTS", 
"");
 
  330                         $comments_col = 
true;
 
  335                         $ntpl->setCurrentBlock(
"comments_col");
 
  340                         $ntpl->parseCurrentBlock();
 
  359                 $notes_settings = 
new ilSetting(
"notes");
 
  361                 if ($this->comments_settings)
 
  363                         $id = $this->rep_obj_id.
"_".$this->obj_id.
"_".$this->obj_type;
 
  368                 $ilCtrl->redirectByClass(
"ilnotegui", 
"showNotes", 
"", $this->ajax);
 
  379                 $notes_settings = 
new ilSetting(
"notes");
 
  381                 if ($this->comments_settings)
 
  383                         $id = $this->rep_obj_id.
"_".$this->obj_id.
"_".$this->obj_type;
 
  388                 $ilCtrl->redirectByClass(
"ilnotegui", 
"showNotes", 
"", $this->ajax);
 
  399                 include_once(
"./Services/User/classes/class.ilUserUtil.php");
 
  409                 $user_setting_notes_public_all = 
"y";
 
  410                 $user_setting_notes_by_type = 
"y";
 
  412                 if ($this->delete_note || $this->export_html || $this->print)
 
  414                         if (
$_GET[
"note_id"] != 
"")
 
  416                                 $filter = 
$_GET[
"note_id"];
 
  424                         $this->obj_type, $a_type, $this->inc_sub, $filter,
 
  425                         $user_setting_notes_public_all, $this->repository_mode);
 
  427                         $this->obj_type, $a_type, $this->inc_sub, $filter,
 
  428                         "", $this->repository_mode);
 
  430                 $tpl = 
new ilTemplate(
"tpl.notes_list.html", 
true, 
true, 
"Services/Notes");
 
  433                 $cnt_str = (count($all_notes) > 0)
 
  434                         ? 
" (".count($all_notes).
")" 
  437                 if (!$this->export_html)
 
  439                         $tpl->setCurrentBlock(
"notes_img");
 
  443                                 $tpl->setVariable(
"ALT_NOTES", $lng->txt(
"icon").
" ".$lng->txt(
"notes_public_comments"));
 
  448                                 $tpl->setVariable(
"ALT_NOTES", $lng->txt(
"icon").
" ".$lng->txt(
"private_notes"));
 
  450                         $tpl->parseCurrentBlock();
 
  456                         switch($this->obj_type)
 
  460                                         include_once 
"Services/ContainerReference/classes/class.ilContainerReference.php";
 
  477                                         $title .= 
" - ".$sub_title;
 
  481                         $tpl->setCurrentBlock(
"title");
 
  483                         $tpl->parseCurrentBlock();
 
  486                 if ($this->delete_note)
 
  492                         $tpl->setVariable(
"TXT_NOTES", $lng->txt(
"private_notes").$cnt_str);
 
  493                         $ilCtrl->setParameterByClass(
"ilnotegui", 
"note_type", 
IL_NOTE_PRIVATE);
 
  497                         $tpl->setVariable(
"TXT_NOTES", $lng->txt(
"notes_public_comments").$cnt_str);
 
  498                         $ilCtrl->setParameterByClass(
"ilnotegui", 
"note_type", 
IL_NOTE_PUBLIC);
 
  500                 $anch = $this->anchor_jump
 
  503                 $tpl->setVariable(
"FORMACTION", $ilCtrl->getFormAction($this, 
"getNotesHTML", $anch));
 
  506                         $os = 
"onsubmit = \"ilNotes.cmdAjaxForm(event, '".
 
  507                                 $ilCtrl->getFormActionByClass(
"ilnotegui", 
"", 
"", 
true).
 
  508                                 "'); return false;\"";
 
  509                         $tpl->setVariable(
"ON_SUBMIT_FORM", $os);
 
  510                         $tpl->setVariable(
"FORM_ID", 
"Ajax");
 
  513                 if ($this->export_html || $this->print)
 
  515                         $tpl->touchBlock(
"print_style");
 
  519                 if (!$this->add_note_form && !$this->edit_note_form && !$this->delete_note &&
 
  520                         !$this->export_html && !$this->print && $ilUser->getId() != ANONYMOUS_USER_ID)
 
  526                                         $tpl->setCurrentBlock(
"add_note_btn");
 
  529                                                 $tpl->setVariable(
"TXT_ADD_NOTE", $lng->txt(
"notes_add_comment"));
 
  533                                                 $tpl->setVariable(
"TXT_ADD_NOTE", $lng->txt(
"add_note"));
 
  535                                         $tpl->setVariable(
"LINK_ADD_NOTE", $ilCtrl->getLinkTargetByClass(
"ilnotegui", 
"addNoteForm").
 
  537                                         $tpl->parseCurrentBlock();
 
  543                 if (count($all_notes) > 0 && $this->enable_hiding && !$this->delete_note
 
  544                         && !$this->export_html && !$this->print && !$this->edit_note_form
 
  545                         && !$this->add_note_form)
 
  547                         if ($user_setting_notes_by_type == 
"n")
 
  551                                         $txt = $lng->txt(
"notes_show_comments");
 
  555                                         $txt = $lng->txt(
"show_".$suffix.
"_notes");
 
  557                                 $this->
renderLink(
$tpl, 
"show_notes", $txt, 
"showNotes", 
"notes_top");
 
  562                                 if (($ilUser->getId() != ANONYMOUS_USER_ID))
 
  566                                                 $txt = $lng->txt(
"notes_hide_comments");
 
  570                                                 $txt = $lng->txt(
"hide_".$suffix.
"_notes");
 
  572                                         $this->
renderLink(
$tpl, 
"hide_notes", $txt, 
"hideNotes", 
"notes_top");
 
  577                                                 if ($user_setting_notes_public_all == 
"n")
 
  579                                                         $this->
renderLink(
$tpl, 
"all_pub_notes", $lng->txt(
"notes_all_comments"),
 
  580                                                                 "showAllPublicNotes", 
"notes_top");
 
  584                                                         $this->
renderLink(
$tpl, 
"my_pub_notes", $lng->txt(
"notes_my_comments"),
 
  585                                                                 "showMyPublicNotes", 
"notes_top");
 
  593                 if (!$this->edit_note_form && $user_setting_notes_by_type != 
"n" && 
 
  594                         !$this->delete_note && $ilUser->getId() != ANONYMOUS_USER_ID)
 
  601                         $tpl->setCurrentBlock(
"edit_note_form");
 
  603                         $tpl->setVariable(
"EDIT_FORM", $this->form_tpl->get());
 
  604                         $tpl->parseCurrentBlock();
 
  606                         $tpl->parseCurrentBlock();
 
  607                         $tpl->setCurrentBlock(
"note_row");
 
  608                         $tpl->parseCurrentBlock();
 
  612                 if ($user_setting_notes_by_type != 
"n" || !$this->enable_hiding)
 
  617                         foreach($notes as $note)
 
  619                                 if ($this->edit_note_form && ($note->getId() == 
$_GET[
"note_id"])
 
  620                                         && $a_type == 
$_GET[
"note_type"])
 
  626                                         $tpl->setCurrentBlock(
"edit_note_form");
 
  628                                         $tpl->setVariable(
"EDIT_FORM", $this->form_tpl->get());
 
  629                                         $tpl->parseCurrentBlock();
 
  637                                                 && !$this->delete_note
 
  638                                                 && !$this->export_html && !$this->print
 
  639                                                 && !$this->edit_note_form && !$this->add_note_form)
 
  641                                                 $ilCtrl->setParameterByClass(
"ilnotegui", 
"note_id", $note->getId());
 
  643                                                                 "deleteNote", 
"note_".$note->getId());
 
  647                                         if ($this->multi_selection && !$this->delete_note)
 
  649                                                 $tpl->setCurrentBlock(
"checkbox_col");
 
  650                                                 $tpl->setVariable(
"CHK_NOTE", 
"note[]");
 
  651                                                 $tpl->setVariable(
"CHK_NOTE_ID", $note->getId());
 
  652                                                 $tpl->parseCurrentBlock();
 
  660                                                 if (!$this->delete_note && !$this->export_html && !$this->print
 
  661                                                         && !$this->edit_note_form && !$this->add_note_form)
 
  663                                                         $ilCtrl->setParameterByClass(
"ilnotegui", 
"note_id", $note->getId());
 
  665                                                                 "editNoteForm", 
"note_edit");
 
  669                                         $tpl->setVariable(
"CNT_COL", $cnt_col);
 
  677                                                 $tpl->setCurrentBlock(
"user_img");
 
  678                                                 $tpl->setVariable(
"USR_IMG",
 
  680                                                 $tpl->setVariable(
"USR_ALT", $lng->txt(
"user_image").
": ".
 
  682                                                 $tpl->parseCurrentBlock();
 
  683                                                 $tpl->setVariable(
"TXT_USR",
 
  688                                         if ($note->getUpdateDate() != null)
 
  690                                                 $tpl->setVariable(
"TXT_LAST_EDIT", $lng->txt(
"last_edited_on"));
 
  691                                                 $tpl->setVariable(
"DATE_LAST_EDIT",
 
  696                                                 $tpl->setVariable(
"VAL_DATE",
 
  701                                         if ($this->delete_note)
 
  703                                                 $tpl->setCurrentBlock(
"delete_ids");
 
  704                                                 $tpl->setVariable(
"HID_NOTE", 
"note[]");
 
  705                                                 $tpl->setVariable(
"HID_NOTE_ID", $note->getId());
 
  706                                                 $tpl->parseCurrentBlock();                                              
 
  708                                         $target = $note->getObject();
 
  712                                                 $target[
"obj_type"], $target[
"obj_id"]);
 
  714                                         $rowclass = ($rowclass != 
"tblrow1")
 
  717                                         if (!$this->export_html && !$this->print)
 
  719                                                 $tpl->setCurrentBlock(
"note_img");
 
  722                                                         $tpl->setVariable(
"IMG_NOTE", $this->comment_img[$note->getLabel()][
"img"]);
 
  723                                                         $tpl->setVariable(
"ALT_NOTE", $this->comment_img[$note->getLabel()][
"alt"]);
 
  727                                                         $tpl->setVariable(
"IMG_NOTE", $this->note_img[$note->getLabel()][
"img"]);
 
  728                                                         $tpl->setVariable(
"ALT_NOTE", $this->note_img[$note->getLabel()][
"alt"]);
 
  730                                                 $tpl->parseCurrentBlock();
 
  734                                                 switch ($note->getLabel())
 
  737                                                                 $tpl->setVariable(
"EXP_ICON", 
"[ ]");
 
  741                                                                 $tpl->setVariable(
"EXP_ICON", 
"[!]");
 
  745                                                                 $tpl->setVariable(
"EXP_ICON", 
"[?]");
 
  749                                                                 $tpl->setVariable(
"EXP_ICON", 
"[+]");
 
  753                                                                 $tpl->setVariable(
"EXP_ICON", 
"[-]");
 
  757                                         $tpl->setCurrentBlock(
"note");
 
  758                                         $tpl->setVariable(
"ROWCLASS", $rowclass);
 
  759                                         $text = (trim($note->getText()) != 
"")
 
  760                                                 ? nl2br($note->getText())
 
  761                                                 : 
"<p class='subtitle'>".$lng->txt(
"note_content_removed").
"</p>";
 
  762                                         $tpl->setVariable(
"NOTE_TEXT", $text);
 
  763                                         $tpl->setVariable(
"VAL_SUBJECT", $note->getSubject());
 
  764                                         $tpl->setVariable(
"NOTE_ID", $note->getId());
 
  768                                         $tpl->parseCurrentBlock();
 
  770                                 $tpl->setCurrentBlock(
"note_row");
 
  771                                 $tpl->parseCurrentBlock();
 
  777                         if ($this->multi_selection && !$this->delete_note && !$this->edit_note_form
 
  778                                 && count($notes) > 0)
 
  782                                         $tpl->setCurrentBlock(
"delete_cmd");
 
  783                                         $tpl->setVariable(
"TXT_DELETE_NOTES", $this->lng->txt(
"delete"));
 
  784                                         $tpl->parseCurrentBlock();
 
  787                                 $tpl->setCurrentBlock(
"multiple_commands");
 
  788                                 $tpl->setVariable(
"TXT_SELECT_ALL", $this->lng->txt(
"select_all"));
 
  790                                 $tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
 
  791                                 $tpl->setVariable(
"TXT_PRINT_NOTES", $this->lng->txt(
"print"));
 
  792                                 $tpl->setVariable(
"TXT_EXPORT_NOTES", $this->lng->txt(
"exp_html"));
 
  793                                 $tpl->parseCurrentBlock();
 
  797                         if ($this->delete_note)
 
  799                                 $tpl->setCurrentBlock(
"delete_cancel");
 
  800                                 $tpl->setVariable(
"TXT_DEL_NOTES", $this->lng->txt(
"delete"));
 
  801                                 $tpl->setVariable(
"TXT_CANCEL_DEL_NOTES", $this->lng->txt(
"cancel"));
 
  802                                 $tpl->parseCurrentBlock();
 
  808                                 $tpl->touchBlock(
"print_js");
 
  809                                 $tpl->setCurrentBlock(
"print_back");
 
  810                                 $tpl->setVariable(
"LINK_BACK", $this->ctrl->getLinkTarget($this, 
"showNotes"));
 
  811                                 $tpl->setVariable(
"TXT_BACK", $this->lng->txt(
"back"));
 
  812                                 $tpl->parseCurrentBlock();
 
  817                 switch(
$_GET[
"note_mess"] != 
"" ? 
$_GET[
"note_mess"] : $this->note_mess)
 
  821                                 $mtxt = $lng->txt(
"msg_obj_modified");
 
  826                                 $mtxt = $lng->txt(
"notes_notes_deleted");
 
  831                                 $mtxt = $lng->txt(
"notes_note_deleted");
 
  836                                 $mtxt = $lng->txt(
"form_input_not_valid");
 
  841                                 $mtxt = $lng->txt(
"info_delete_sure");
 
  846                                 $mtxt = $lng->txt(
"no_checkbox");
 
  851                         $tpl->setVariable(
"MESS", 
$tpl->getMessageHTML($mtxt, $mtype));
 
  855                         $tpl->setVariable(
"MESS", 
"");
 
  860                 if ($this->delete_note && count($notes) == 0)
 
  879                 global $objDefinition, 
$ilCtrl;
 
  882                 $parent_class = 
"ilObj".$objDefinition->getClassName($parent_type).
"GUI";                                               
 
  883                 $parent_path = $ilCtrl->lookupClassPath($parent_class);
 
  884                 include_once $parent_path;
 
  885                 if(method_exists($parent_class, 
"lookupSubObjectTitle"))
 
  887                         return call_user_func_array(array($parent_class, 
"lookupSubObjectTitle"), array($parent_obj_id, $sub_obj_id));                  
 
  898                 if ($ilUser->getId() == ANONYMOUS_USER_ID)
 
  904                 if (($a_note->getType() == 
IL_NOTE_PRIVATE && $a_note->getAuthor() == $ilUser->getId()) ||
 
  922                 if ($a_note->getAuthor() == $ilUser->getId()
 
  923                         && ($ilUser->getId() != ANONYMOUS_USER_ID))
 
  936         public function initNoteForm($a_mode = 
"edit", $a_type, $a_note = null)
 
  940                 $this->form_tpl = 
new ilTemplate(
"tpl.notes_edit.html", 
true, 
true, 
"Services/Notes");
 
  944                         $this->form_tpl->setVariable(
"NOTE_ID", $a_note->getId());
 
  947                 if ($a_mode == 
"create")
 
  949                         $this->form_tpl->setVariable(
"TXT_CMD", ($a_type == 
IL_NOTE_PUBLIC)
 
  950                                 ? $lng->txt(
"note_add_comment")
 
  951                                 : $lng->txt(
"note_add_note"));
 
  952                         $this->form_tpl->setVariable(
"CMD", 
"addNote");
 
  956                         $this->form_tpl->setVariable(
"TXT_CMD",  ($a_type == 
IL_NOTE_PUBLIC)
 
  957                                 ? $lng->txt(
"note_update_comment")
 
  958                                 : $lng->txt(
"note_update_note"));
 
  959                         $this->form_tpl->setVariable(
"CMD", 
"updateNote");
 
  963                 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  965                 $this->form->setOpenTag(
false);
 
  966                 $this->form->setCloseTag(
false);
 
  967                 $this->form->setDisableStandardMessage(
true);
 
  989                         $ta->setValue($a_note->getText());
 
  991                 $this->form->addItem($ta);
 
 1013                         $hi->setValue(
$_GET[
"note_id"]);
 
 1014                         $this->form->addItem($hi);
 
 1018                 if ($a_mode == 
"create")
 
 1020                         $this->form->addCommandButton(
"addNote", $lng->txt(
"save"));
 
 1028                         $this->form->addCommandButton(
"updateNote", $lng->txt(
"save"));
 
 1035                 $ilCtrl->setParameter($this, 
"note_type", $a_type);
 
 1036                 $this->form->setFormAction($this->ctrl->getFormAction($this));
 
 1047                 $tpl = 
new ilTemplate(
"tpl.pd_note.html", 
true, 
true, 
"Services/Notes");
 
 1048                 $note = 
new ilNote($note_id);
 
 1049                 $target = $note->getObject();
 
 1051                 if ($note->getAuthor() != $ilUser->getId())
 
 1057                 $alt = $lng->txt(
"note");
 
 1059                 $tpl->setCurrentBlock(
"edit_note");
 
 1060                 $ilCtrl->setParameterByClass(
"ilnotegui", 
"rel_obj", $target[
"rep_obj_id"]);
 
 1061                 $ilCtrl->setParameterByClass(
"ilnotegui", 
"note_id", $note_id);
 
 1062                 $ilCtrl->setParameterByClass(
"ilnotegui", 
"note_type", $note->getType());
 
 1063                 $tpl->setVariable(
"LINK_EDIT_NOTE",
 
 1064                         $ilCtrl->getLinkTargetByClass(array(
"ilpersonaldesktopgui", 
"ilpdnotesgui", 
"ilnotegui"),
 
 1066                 $tpl->setVariable(
"TXT_EDIT_NOTE", $lng->txt(
"edit"));
 
 1067                 $tpl->parseCurrentBlock();
 
 1068                 $ilCtrl->clearParametersByClass(
"ilnotegui");
 
 1070                 $tpl->setCurrentBlock(
"note_img");
 
 1071                 $tpl->setVariable(
"IMG_NOTE", $this->note_img[$note->getLabel()][
"img"]);
 
 1072                 $tpl->setVariable(
"ALT_NOTE", $this->note_img[$note->getLabel()][
"alt"]);
 
 1073                 $tpl->parseCurrentBlock();
 
 1076                 if ($note->getUpdateDate() != null)
 
 1078                         $tpl->setVariable(
"TXT_LAST_EDIT", $lng->txt(
"last_edited_on"));
 
 1079                         $tpl->setVariable(
"DATE_LAST_EDIT",
 
 1085                         $tpl->setVariable(
"VAL_DATE",
 
 1089                 $tpl->setVariable(
"VAL_SUBJECT", $note->getSubject());
 
 1090                 $text = (trim($note->getText()) != 
"")
 
 1091                         ? nl2br($note->getText())
 
 1092                         : 
"<p class='subtitle'>".$lng->txt(
"note_content_removed").
"</p>";
 
 1093                 $tpl->setVariable(
"NOTE_TEXT", $text);
 
 1094                 $this->
showTargets(
$tpl, $target[
"rep_obj_id"], $note_id, $target[
"obj_type"], $target[
"obj_id"]);
 
 1103                 global $tree, $ilAccess, $objDefinition, 
$ilUser;
 
 1105                 if ($this->targets_enabled)
 
 1107                         if ($a_rep_obj_id > 0)
 
 1115                                         $vis_ref_ids = array();
 
 1118                                                 if ($ilAccess->checkAccess(
"visible", 
"", $ref_id))
 
 1125                                         if (count($vis_ref_ids) > 0)
 
 1127                                                 foreach($vis_ref_ids as $vis_ref_id)
 
 1130                                                         $sub_link = $sub_title = 
"";
 
 1131                                                         if ($type == 
"sahs")            
 
 1133                                                                 $link = 
"goto.php?target=sahs_".$vis_ref_id;
 
 1135                                                                 if ($a_obj_type == 
"sco" || $a_obj_type == 
"seqc" || $a_obj_type == 
"chap" || $a_obj_type == 
"pg")
 
 1137                                                                         $sub_link = 
"goto.php?target=sahs_".$vis_ref_id.
"_".$a_obj_id;
 
 1138                                                                         include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 1143                                                         else if ($a_obj_type != 
"pg")
 
 1145                                                                 if (!is_object($this->item_list_gui[$type]))
 
 1147                                                                         $class = $objDefinition->getClassName($type);
 
 1148                                                                         $location = $objDefinition->getLocation($type);
 
 1149                                                                         $full_class = 
"ilObj".$class.
"ListGUI";
 
 1150                                                                         include_once(
$location.
"/class.".$full_class.
".php");
 
 1151                                                                         $this->item_list_gui[$type] = 
new $full_class();
 
 1156                                                                 if($a_obj_type == 
"crsr" || $a_obj_type == 
"catr")
 
 1158                                                                         include_once 
"Services/ContainerReference/classes/class.ilContainerReference.php";
 
 1166                                                                 $this->item_list_gui[$type]->initItem($vis_ref_id, $a_rep_obj_id, 
$title);
 
 1167                                                                 $link = $this->item_list_gui[$type]->getCommandLink(
"infoScreen");
 
 1172                                                                 $link = $this->item_list_gui[$type]->appendRepositoryFrameParameter($link).
"#note_".$a_note_id;
 
 1177                                                                 $link = 
"goto.php?target=pg_".$a_obj_id.
"_".$vis_ref_id;
 
 1180                                                         $par_id = $tree->getParentId($vis_ref_id);
 
 1183                                                         if ($sub_link != 
"")
 
 1185                                                                 if ($this->export_html || $this->print)
 
 1187                                                                         $tpl->setCurrentBlock(
"exp_target_sub_object");
 
 1191                                                                         $tpl->setCurrentBlock(
"target_sub_object");
 
 1192                                                                         $tpl->setVariable(
"LINK_SUB_TARGET", $sub_link);
 
 1194                                                                 $tpl->setVariable(
"TXT_SUB_TARGET", $sub_title);
 
 1195                                                                 $tpl->setVariable(
"IMG_SUB_TARGET", $sub_icon);
 
 1196                                                                 $tpl->parseCurrentBlock();
 
 1200                                                         if ($this->export_html || $this->print)
 
 1202                                                                 $tpl->setCurrentBlock(
"exp_target_object");
 
 1206                                                                 $tpl->setCurrentBlock(
"target_object");
 
 1207                                                                 $tpl->setVariable(
"LINK_TARGET", $link);
 
 1209                                                         $tpl->setVariable(
"TXT_CONTAINER",
 
 1212                                                         $tpl->setVariable(
"IMG_CONTAINER",
 
 1216                                                         $tpl->setVariable(
"IMG_TARGET",
 
 1219                                                         $tpl->parseCurrentBlock();
 
 1221                                                 $tpl->touchBlock(
"target_objects");
 
 1228                                         if(!$this->wsp_tree)
 
 1230                                                 include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
 
 1231                                                 include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
 1235                                         $node_id = $this->wsp_tree->lookupNodeId($a_rep_obj_id);
 
 1236                                         if($this->wsp_access_handler->checkAccess(
"visible", 
"", $node_id))
 
 1238                                                 $path = $this->wsp_tree->getPathFull($node_id);
 
 1241                                                         $item = array_pop(
$path);
 
 1242                                                         $parent = array_pop(
$path);
 
 1244                                                         if(!$parent[
"title"])
 
 1246                                                                 $parent[
"title"] = $this->lng->txt(
"wsp_personal_workspace");
 
 1256                                                                         $item[
"title"] .= 
" (".$sub_title.
")";  
 
 1267                                                         $parent[
"title"] = $this->lng->txt(
"wsp_tab_shared").
 
 1268                                                                 " (".ilObject::_lookupOwnerName($owner).
")";
 
 1270                                                         $link = 
"ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToWorkspace&dsh=".
 
 1275                                                 if ($this->export_html || $this->print)
 
 1277                                                         $tpl->setCurrentBlock(
"exp_target_object");
 
 1281                                                         $tpl->setCurrentBlock(
"target_object");
 
 1282                                                         $tpl->setVariable(
"LINK_TARGET", $link);
 
 1288                                                 $tpl->setVariable(
"TXT_CONTAINER", $parent[
"title"]);
 
 1289                                                 $tpl->setVariable(
"IMG_CONTAINER",
 
 1292                                                 $tpl->setVariable(
"TXT_TARGET", $item[
"title"]);
 
 1293                                                 $tpl->setVariable(
"IMG_TARGET",
 
 1296                                                 $tpl->parseCurrentBlock();                                                              
 
 1313                 $ilUser->setPref(
"notes_".$suffix, 
"y");
 
 1315                 $this->add_note_form = 
true;
 
 1345                 if (
$_POST[
"note"] != 
"")
 
 1348                         $note->setObject($this->obj_type, $this->rep_obj_id, $this->obj_id);    
 
 1349                         $note->setInRepository($this->repository_mode);
 
 1350                         $note->setType(
$_GET[
"note_type"]);
 
 1351                         $note->setAuthor($ilUser->getId());
 
 1352                         $note->setText(ilUtil::stripslashes(
$_POST[
"note"]));
 
 1359                         $ilCtrl->setParameter($this, 
"note_mess", 
"mod");
 
 1362                 $ilCtrl->redirect($this, 
"showNotes", 
"notes_top", $this->ajax);
 
 1391                                 $ilCtrl->setParameter($this, 
"note_mess", 
"mod");
 
 1393                         $ilCtrl->redirect($this, 
"showNotes", 
"notes_top", $this->ajax);
 
 1395 $ilCtrl->redirect($this, 
"showNotes", 
"notes_top", $this->ajax);
 
 1396                 $this->note_mess = 
"frmfld";
 
 1397                 $this->form->setValuesByPost();
 
 1398                 $_GET[
"note_id"] = $note->getId();
 
 1399                 $_GET[
"note_type"] = $note->getType();
 
 1408                 $this->edit_note_form = 
true;
 
 1418                 $this->delete_note = 
true;
 
 1419                 $this->note_mess = 
"qdel";
 
 1432                         $this->note_mess = 
"noc";
 
 1436                         $this->delete_note = 
true;
 
 1437                         $this->note_mess = 
"qdel";
 
 1459                 foreach(
$_POST[
"note"] as $id)
 
 1470                         $ilCtrl->setParameter($this, 
"note_mess", 
"ntsdel");
 
 1474                         $ilCtrl->setParameter($this, 
"note_mess", 
"ntdel");
 
 1476                 $ilCtrl->redirect($this, 
"showNotes", 
"notes_top", $this->ajax);
 
 1486                 $this->export_html = 
true;
 
 1487                 $this->multi_selection = 
false;
 
 1499                 $this->print = 
true;
 
 1500                 $this->multi_selection = 
false;
 
 1515                 $ilUser->writePref(
"notes_".$suffix, 
"y");
 
 1530                 $ilUser->writePref(
"notes_".$suffix, 
"n");
 
 1542                 $ilUser->writePref(
"notes_pub_all", 
"y");
 
 1554                 $ilUser->writePref(
"notes_pub_all", 
"n");
 
 1566                 include_once(
"./Services/YUI/classes/class.ilYuiUtil.php");
 
 1568                 include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
 
 1570                 $tpl->addJavascript(
"./Services/Notes/js/ilNotes.js");
 
 1572                 $tpl->addOnLoadCode(
"ilNotes.setAjaxUrl('".$a_ajax_url.
"');");
 
 1584                 if ($a_update_code === null)
 
 1586                         $a_update_code = 
"null";
 
 1590                         $a_update_code = 
"'".$a_update_code.
"'";
 
 1593                 return "ilNotes.listNotes(event, '".$a_hash.
"', ".$a_update_code.
");";
 
 1605                 if ($a_update_code === null)
 
 1607                         $a_update_code = 
"null";
 
 1611                         $a_update_code = 
"'".$a_update_code.
"'";
 
 1614                 return "ilNotes.listComments(event, '".$a_hash.
"', ".$a_update_code.
");";
 
 1626         protected static function buildAjaxHash($a_node_type, $a_node_id, $a_sub_id, $a_sub_type)
 
 1628                 return $a_node_type.
";".$a_node_id.
";".$a_sub_id.
";".$a_sub_type;
 
 1634         function renderLink($a_tpl, $a_var, $a_txt, $a_cmd, $a_anchor = 
"")
 
 1638                 $low_var = strtolower($a_var);
 
 1639                 $up_var = strtoupper($a_var);
 
 1643                         $a_tpl->setVariable(
"LINK_".$up_var, 
"#");
 
 1644                         $oc = 
"onclick = \"ilNotes.cmdAjaxLink(event, '".
 
 1645                                 $ilCtrl->getLinkTargetByClass(
"ilnotegui", $a_cmd, 
"", 
true).
 
 1647                         $a_tpl->setVariable(
"ON_CLICK_".$up_var, $oc);
 
 1651                         $a_tpl->setVariable(
"LINK_".$up_var,
 
 1652                                 $ilCtrl->getLinkTargetByClass(
"ilnotegui", $a_cmd, $a_anchor));
 
 1655                 $a_tpl->setCurrentBlock($low_var);
 
 1656                 $a_tpl->setVariable(
"TXT_".$up_var, $a_txt);
 
 1657                 $a_tpl->parseCurrentBlock();
 
 1667                 $this->observer[] = $a_callback;
 
 1678                 if(
sizeof($this->observer))
 
 1680                         foreach($this->observer as $item)
 
 1682                                 $param = $a_note->getObject();                  
 
 1683                                 $param[
"action"] = $a_action;
 
 1684                                 $param[
"note_id"] = $a_note->getId();
 
 1686                                 call_user_func_array($item, $param);