コード例 #1
0
 /**
  * Save tags for tagging gui
  *
  * Needed this function here because the test info page 
  * uses another class to send its form results
  */
 function saveTagsCmd()
 {
     include_once "./Services/Tagging/classes/class.ilTaggingGUI.php";
     $tagging_gui = new ilTaggingGUI();
     $tagging_gui->setObject($this->object->getId(), $this->object->getType());
     $tagging_gui->saveInput();
     $this->ctrl->redirectByClass("ilobjtestgui", "infoScreen");
 }
コード例 #2
0
 function saveTags()
 {
     include_once "Services/Tagging/classes/class.ilTaggingGUI.php";
     $tagging_gui = new ilTaggingGUI();
     $tagging_gui->setObject($this->gui_object->object->getId(), $this->gui_object->object->getType());
     $tagging_gui->saveInput();
     ilUtil::sendSuccess($this->lng->txt('msg_obj_modified'), true);
     $this->ctrl->redirect($this, "");
     // #14993
     // return $this->showSummary();
 }
コード例 #3
0
 function executeCommand()
 {
     global $ilCtrl;
     // check access for object
     if ($this->node_id && !$this->access_handler->checkAccess("visible", "", $this->node_id) && !$this->access_handler->checkAccess("read", "", $this->node_id)) {
         exit;
     }
     $next_class = $ilCtrl->getNextClass($this);
     $cmd = $ilCtrl->getCmd();
     $ilCtrl->saveParameter($this, "cadh");
     switch ($next_class) {
         case "ilnotegui":
             $obj_type = $this->obj_type;
             if ($this->sub_type) {
                 $obj_type = $this->sub_type;
             }
             include_once "Services/Notes/classes/class.ilNoteGUI.php";
             $note_gui = new ilNoteGUI($this->obj_id, $this->sub_id, $obj_type);
             $note_gui->enablePrivateNotes(true);
             // comments cannot be turned off globally
             if ($this->enable_comments_settings) {
                 // should only be shown if active or permission to toggle
                 if ($this->access_handler->checkAccess("write", "", $this->node_id) || $this->access_handler->checkAccess("edit_permissions", "", $this->node_id)) {
                     $note_gui->enableCommentsSettings();
                 }
             } else {
                 if ($this->sub_id) {
                     $note_gui->enablePublicNotes(true);
                 }
             }
             $ilCtrl->forwardCommand($note_gui);
             break;
         case "iltagginggui":
             include_once "Services/Tagging/classes/class.ilTaggingGUI.php";
             $tags_gui = new ilTaggingGUI($this->node_id);
             $tags_gui->setObject($this->obj_id, $this->obj_type);
             $ilCtrl->forwardCommand($tags_gui);
             break;
         case "ilobjectactivationgui":
             $ilCtrl->setParameter($this, "parent_id", (int) $_REQUEST['parent_id']);
             include_once 'Services/Object/classes/class.ilObjectActivationGUI.php';
             $act_gui = new ilObjectActivationGUI((int) $_REQUEST['parent_id'], $this->node_id);
             $ilCtrl->forwardCommand($act_gui);
             break;
         case "ilratinggui":
             include_once "./Services/Rating/classes/class.ilRatingGUI.php";
             $rating_gui = new ilRatingGUI();
             $rating_gui->setObject($this->obj_id, $this->obj_type, $this->sub_id, $this->sub_type);
             $ilCtrl->forwardCommand($rating_gui);
             if ($this->rating_callback) {
                 // as rating in categories is form-based we need to redirect
                 // somewhere after saving
                 $ilCtrl->redirect($this->rating_callback[0], $this->rating_callback[1]);
             }
             break;
         default:
             break;
     }
     exit;
 }
コード例 #4
0
 /**
  * Get header action
  * 
  * @return string
  */
 function getHeaderAction()
 {
     global $ilUser, $lng, $tpl;
     $htpl = new ilTemplate("tpl.header_action.html", true, true, "Services/Repository");
     $redraw_js = "il.Object.redrawActionHeader();";
     // tags
     if ($this->tags_enabled) {
         include_once "./Services/Tagging/classes/class.ilTagging.php";
         $tags = ilTagging::getTagsForUserAndObject($this->obj_id, ilObject::_lookupType($this->obj_id), 0, "", $ilUser->getId());
         if (count($tags) > 0) {
             include_once "./Services/Tagging/classes/class.ilTaggingGUI.php";
             $lng->loadLanguageModule("tagging");
             $this->addHeaderIcon("tags", ilUtil::getImagePath("icon_tag.svg"), $lng->txt("tagging_tags") . ": " . count($tags), ilTaggingGUI::getListTagsJSCall($this->ajax_hash, $redraw_js), count($tags));
         }
     }
     // notes and comments
     $comments_enabled = $this->isCommentsActivated($this->type, $this->ref_id, $this->obj_id, true, false);
     if ($this->notes_enabled || $comments_enabled) {
         include_once "./Services/Notes/classes/class.ilNote.php";
         include_once "./Services/Notes/classes/class.ilNoteGUI.php";
         $cnt = ilNote::_countNotesAndComments($this->obj_id, $this->sub_obj_id);
         if ($this->notes_enabled && $cnt[$this->obj_id][IL_NOTE_PRIVATE] > 0) {
             $this->addHeaderIcon("notes", ilUtil::getImagePath("note_unlabeled.svg"), $lng->txt("private_notes") . ": " . $cnt[$this->obj_id][IL_NOTE_PRIVATE], ilNoteGUI::getListNotesJSCall($this->ajax_hash, $redraw_js), $cnt[$this->obj_id][IL_NOTE_PRIVATE]);
         }
         if ($comments_enabled && $cnt[$this->obj_id][IL_NOTE_PUBLIC] > 0) {
             $lng->loadLanguageModule("notes");
             $this->addHeaderIcon("comments", ilUtil::getImagePath("comment_unlabeled.svg"), $lng->txt("notes_public_comments") . ": " . $cnt[$this->obj_id][IL_NOTE_PUBLIC], ilNoteGUI::getListCommentsJSCall($this->ajax_hash, $redraw_js), $cnt[$this->obj_id][IL_NOTE_PUBLIC]);
         }
     }
     // rating
     if ($this->rating_enabled) {
         include_once "./Services/Rating/classes/class.ilRatingGUI.php";
         $rating_gui = new ilRatingGUI();
         $rating_gui->enableCategories($this->rating_categories_enabled);
         // never rate sub objects from header action!
         $rating_gui->setObject($this->obj_id, $this->type);
         if ($this->rating_text) {
             $rating_gui->setYourRatingText($this->rating_text);
         }
         $this->ctrl->setParameterByClass("ilRatingGUI", "cadh", $this->ajax_hash);
         $this->ctrl->setParameterByClass("ilRatingGUI", "rnsb", true);
         if ($this->rating_ctrl_path) {
             $rating_gui->setCtrlPath($this->rating_ctrl_path);
             $ajax_url = $this->ctrl->getLinkTargetByClass($this->rating_ctrl_path, "saveRating", "", true, false);
         } else {
             // ???
             $ajax_url = $this->ctrl->getLinkTargetByClass("ilRatingGUI", "saveRating", "", true, false);
         }
         $tpl->addOnLoadCode("il.Object.setRatingUrl('" . $ajax_url . "');");
         $this->addHeaderIconHTML("rating", $rating_gui->getHtml(true, $this->checkCommandAccess("read", "", $this->ref_id, $this->type), "il.Object.saveRating(%rating%);"));
     }
     if ($this->header_icons) {
         include_once "./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php";
         $chunks = array();
         foreach ($this->header_icons as $id => $attr) {
             $id = "headp_" . $id;
             if (is_array($attr)) {
                 if ($attr["onclick"]) {
                     $htpl->setCurrentBlock("onclick");
                     $htpl->setVariable("PROP_ONCLICK", $attr["onclick"]);
                     $htpl->parseCurrentBlock();
                 }
                 if ($attr["status_text"]) {
                     $htpl->setCurrentBlock("status");
                     $htpl->setVariable("PROP_TXT", $attr["status_text"]);
                     $htpl->parseCurrentBlock();
                 }
                 if (!$attr["href"]) {
                     $attr["href"] = "#";
                 }
                 $htpl->setCurrentBlock("prop");
                 $htpl->setVariable("PROP_ID", $id);
                 $htpl->setVariable("IMG", ilUtil::img($attr["img"]));
                 $htpl->setVariable("PROP_HREF", $attr["href"]);
                 $htpl->parseCurrentBlock();
                 if ($attr["tooltip"]) {
                     ilTooltipGUI::addTooltip($id, $attr["tooltip"]);
                 }
             } else {
                 $chunks[] = $attr;
             }
         }
         if (sizeof($chunks)) {
             $htpl->setVariable("PROP_CHUNKS", implode("   ", $chunks) . "   ");
         }
     }
     $htpl->setVariable("ACTION_DROP_DOWN", $this->insertCommands(false, false, "", true));
     return $htpl->get();
 }
コード例 #5
0
 function saveTags()
 {
     global $ilCtrl;
     include_once "Services/Tagging/classes/class.ilTaggingGUI.php";
     $tagging_gui = new ilTaggingGUI();
     $tagging_gui->setObject($this->gui_object->object->getId(), $this->gui_object->object->getType());
     $tagging_gui->saveInput();
     return $this->showSummary();
 }
コード例 #6
0
 /**
  * Get header action
  * 
  * @return string
  */
 function getHeaderAction()
 {
     global $ilAccess, $ilBench, $ilUser, $ilCtrl, $lng;
     $htpl = new ilTemplate("tpl.header_action.html", true, true, "Services/Repository");
     $redraw_js = "il.Object.redrawActionHeader();";
     // tags
     if ($this->tags_enabled) {
         include_once "./Services/Tagging/classes/class.ilTagging.php";
         $tags = ilTagging::getTagsForUserAndObject($this->obj_id, ilObject::_lookupType($this->obj_id), 0, "", $ilUser->getId());
         if (count($tags) > 0) {
             include_once "./Services/Tagging/classes/class.ilTaggingGUI.php";
             $lng->loadLanguageModule("tagging");
             $this->addHeaderIcon("tags", ilUtil::getImagePath("icon_tags_s.png"), $lng->txt("tagging_tags") . ": " . count($tags), ilTaggingGUI::getListTagsJSCall($this->ajax_hash, $redraw_js), count($tags));
         }
     }
     // notes and comments
     $comments_enabled = $this->isCommentsActivated($this->type, $this->ref_id, $this->obj_id, true, false);
     if ($this->notes_enabled || $comments_enabled) {
         include_once "./Services/Notes/classes/class.ilNote.php";
         include_once "./Services/Notes/classes/class.ilNoteGUI.php";
         $cnt = ilNote::_countNotesAndComments($this->obj_id, $this->sub_obj_id);
         if ($this->notes_enabled && $cnt[$this->obj_id][IL_NOTE_PRIVATE] > 0) {
             $this->addHeaderIcon("notes", ilUtil::getImagePath("note_unlabeled.png"), $lng->txt("private_notes") . ": " . $cnt[$this->obj_id][IL_NOTE_PRIVATE], ilNoteGUI::getListNotesJSCall($this->ajax_hash, $redraw_js), $cnt[$this->obj_id][IL_NOTE_PRIVATE]);
         }
         if ($comments_enabled && $cnt[$this->obj_id][IL_NOTE_PUBLIC] > 0) {
             $lng->loadLanguageModule("notes");
             $this->addHeaderIcon("comments", ilUtil::getImagePath("comment_unlabeled.png"), $lng->txt("notes_public_comments") . ": " . $cnt[$this->obj_id][IL_NOTE_PUBLIC], ilNoteGUI::getListCommentsJSCall($this->ajax_hash, $redraw_js), $cnt[$this->obj_id][IL_NOTE_PUBLIC]);
         }
     }
     if ($this->header_icons) {
         include_once "./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php";
         $chunks = array();
         foreach ($this->header_icons as $id => $attr) {
             $id = "headp_" . $id;
             if (is_array($attr)) {
                 if ($attr["onclick"]) {
                     $htpl->setCurrentBlock("onclick");
                     $htpl->setVariable("PROP_ONCLICK", $attr["onclick"]);
                     $htpl->parseCurrentBlock();
                 }
                 if ($attr["status_text"]) {
                     $htpl->setCurrentBlock("status");
                     $htpl->setVariable("PROP_TXT", $attr["status_text"]);
                     $htpl->parseCurrentBlock();
                 }
                 if (!$attr["href"]) {
                     $attr["href"] = "#";
                 }
                 $htpl->setCurrentBlock("prop");
                 $htpl->setVariable("PROP_ID", $id);
                 $htpl->setVariable("IMG", ilUtil::img($attr["img"]));
                 $htpl->setVariable("PROP_HREF", $attr["href"]);
                 $htpl->parseCurrentBlock();
                 if ($attr["tooltip"]) {
                     ilTooltipGUI::addTooltip($id, $attr["tooltip"]);
                 }
             } else {
                 $chunks[] = $attr;
             }
         }
         if (sizeof($chunks)) {
             $htpl->setVariable("PROP_CHUNKS", implode("   ", $chunks) . "   ");
         }
     }
     $htpl->setVariable("ACTION_DROP_DOWN", $this->insertCommands(false, false, "", true));
     return $htpl->get();
 }