ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilTermDefinitionEditorGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2012 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5
6require_once("./Services/Style/classes/class.ilObjStyleSheet.php");
7require_once ("./Modules/Glossary/classes/class.ilGlossaryDefPageGUI.php");
8
20{
21 var $ilias;
22 var $tpl;
23 var $lng;
26 var $term;
27
33 {
34 global $ilias, $tpl, $lng, $objDefinition, $ilCtrl;
35
36 // initiate variables
37 $this->ilias =& $ilias;
38 $this->tpl =& $tpl;
39 $this->lng =& $lng;
40 $this->ctrl =& $ilCtrl;
41 $this->glossary =& new ilObjGlossary($_GET["ref_id"], true);
42 $this->definition =& new ilGlossaryDefinition($_GET["def"]);
43 $this->term =& new ilGlossaryTerm($this->definition->getTermId());
44
45 $this->ctrl->saveParameter($this, array("def"));
46 }
47
48
49 function &executeCommand()
50 {
51 global $tpl, $ilCtrl, $lng;
52
53 $next_class = $this->ctrl->getNextClass($this);
54 $cmd = $this->ctrl->getCmd();
55
56 // content style
57 $this->tpl->setCurrentBlock("ContentStyle");
58 $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET",
59 ilObjStyleSheet::getContentStylePath($this->glossary->getStyleSheetId()));
60 $this->tpl->parseCurrentBlock();
61
62 // syntax style
63 $this->tpl->setCurrentBlock("SyntaxStyle");
64 $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET",
66 $this->tpl->parseCurrentBlock();
67
68 require_once ("./Modules/Glossary/classes/class.ilGlossaryLocatorGUI.php");
69 $gloss_loc =& new ilGlossaryLocatorGUI();
70 $gloss_loc->setTerm($this->term);
71 $gloss_loc->setGlossary($this->glossary);
72 $gloss_loc->setDefinition($this->definition);
73
74 $this->tpl->getStandardTemplate();
75 $this->tpl->setTitle($this->term->getTerm()." - ".
76 $this->lng->txt("cont_definition")." ".
77 $this->definition->getNr());
78 if ($this->ctrl->getNextClass() == "ilglossarydefpagegui")
79 {
80 $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_glo.svg"));
81 }
82
83 switch ($next_class)
84 {
85
86 case "ilglossarydefpagegui":
87
88 // output number of usages
89 if ($ilCtrl->getCmd() == "edit" &&
90 $ilCtrl->getCmdClass() == "ilglossarydefpagegui")
91 {
93 if ($nr > 0)
94 {
95 $link = "[<a href='".
96 $ilCtrl->getLinkTargetByClass("ilglossarytermgui", "listUsages").
97 "'>".$lng->txt("glo_list_usages")."</a>]";
98 ilUtil::sendInfo(sprintf($lng->txt("glo_term_is_used_n_times"),
99 $nr)." ".$link);
100 }
101 }
102
103 // not so nice, to do: revise locator handling
104 if ($this->ctrl->getNextClass() == "ilglossarydefpagegui"
105 || $this->ctrl->getCmdClass() == "ileditclipboardgui")
106 {
107 $gloss_loc->display();
108 }
109 $this->setTabs();
110 $this->ctrl->setReturnByClass("ilGlossaryDefPageGUI", "edit");
111 $this->ctrl->setReturn($this, "listDefinitions");
112 $page_gui = new ilGlossaryDefPageGUI($this->definition->getId());
113 $page = $page_gui->getPageObject();
114 $this->definition->assignPageObject($page);
115 $page->addUpdateListener($this, "saveShortText");
116 $page_gui->setEditPreview(true);
117
118 // metadata
119 // ... set title to term, if no title is given
120 include_once("./Services/MetaData/classes/class.ilMD.php");
121 $md = new ilMD($this->glossary->getId(), $this->definition->getId(), "gdf");
122 $md_gen = $md->getGeneral();
123 if ($md_gen->getTitle() == "")
124 {
125 $md_gen->setTitle($this->term->getTerm());
126 $md_gen->update();
127 }
128
129 $page_gui->activateMetaDataEditor($this->glossary, "gdf", $this->definition->getId());
130
131 $page_gui->setSourcecodeDownloadScript("ilias.php?baseClass=ilGlossaryPresentationGUI&amp;ref_id=".$_GET["ref_id"]);
132 $page_gui->setFullscreenLink("ilias.php?baseClass=ilGlossaryPresentationGUI&amp;cmd=fullscreen&amp;ref_id=".$_GET["ref_id"]);
133 $page_gui->setTemplateTargetVar("ADM_CONTENT");
134 $page_gui->setOutputMode("edit");
135 $page_gui->setStyleId($this->glossary->getStyleSheetId());
136 $page_gui->setLocator($gloss_loc);
137 $page_gui->setIntLinkReturn($this->ctrl->getLinkTargetByClass("ilobjglossarygui", "quickList",
138 "", false, false));
139 $page_gui->setPageBackTitle($this->lng->txt("cont_definition"));
140 $page_gui->setLinkParams("ref_id=".$_GET["ref_id"]);
141 $page_gui->setHeader($this->term->getTerm());
142 $page_gui->setFileDownloadLink("ilias.php?baseClass=ilGlossaryPresentationGUI&amp;cmd=downloadFile&amp;ref_id=".$_GET["ref_id"]);
143 $page_gui->setPresentationTitle($this->term->getTerm());
144 $ret =& $this->ctrl->forwardCommand($page_gui);
145 $tpl->setContent($ret);
146 break;
147
148 default:
149 $this->setTabs();
150 $gloss_loc->display();
151 $ret =& $this->$cmd();
152 break;
153
154 }
155 }
156
157
161 function main_header($a_header_title)
162 {
163 global $lng;
164
165 $this->tpl->getStandardTemplate();
166 $this->tpl->setTitle($a_header_title);
167 $this->displayLocator();
168 //$this->setAdminTabs($a_type);
169 }
170
174 function setTabs()
175 {
176 global $ilTabs;
177
178 // catch feedback message
179 $this->getTabs($ilTabs);
180 }
181
185 function getTabs(&$tabs_gui)
186 {
187 // back to glossary
188 $tabs_gui->setBack2Target($this->lng->txt("glossary"),
189 $this->ctrl->getParentReturn($this));
190
191 // back to upper context
192 $tabs_gui->setBackTarget($this->lng->txt("term"),
193 $this->ctrl->getLinkTargetByClass("ilglossarytermgui", "editTerm"));
194
195 }
196
197
198 function saveShortText()
199 {
200 $this->definition->updateShortText();
201 }
202}
203?>
$_GET["client_id"]
Glossary definition page GUI class.
Class ilGlossaryDefinition.
Class ilGlossaryTerm.
static getNumberOfUsages($a_term_id)
Get number of usages.
Class ilObjGlossary.
getContentStylePath($a_style_id)
get content style path
getSyntaxStylePath()
get syntax style path
GUI class for glossary term definition editor.
ilTermDefinitionEditorGUI()
Constructor @access public.
main_header($a_header_title)
output main header (title and locator)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
global $ilCtrl
Definition: ilias.php:18
redirection script todo: (a better solution should control the processing via a xml file)
$cmd
Definition: sahs_server.php:35