ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
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->getId(),
130 $this->definition->getId(), "gdf");
131 // $this->obj, "MDUpdateListener");
132
133 $page_gui->setSourcecodeDownloadScript("ilias.php?baseClass=ilGlossaryPresentationGUI&amp;ref_id=".$_GET["ref_id"]);
134 $page_gui->setFullscreenLink("ilias.php?baseClass=ilGlossaryPresentationGUI&amp;cmd=fullscreen&amp;ref_id=".$_GET["ref_id"]);
135 $page_gui->setTemplateTargetVar("ADM_CONTENT");
136 $page_gui->setOutputMode("edit");
137 $page_gui->setStyleId($this->glossary->getStyleSheetId());
138 $page_gui->setLocator($gloss_loc);
139 $page_gui->setIntLinkReturn($this->ctrl->getLinkTargetByClass("ilobjglossarygui", "quickList",
140 "", false, false));
141 $page_gui->setPageBackTitle($this->lng->txt("cont_definition"));
142 $page_gui->setLinkParams("ref_id=".$_GET["ref_id"]);
143 $page_gui->setHeader($this->term->getTerm());
144 $page_gui->setFileDownloadLink("ilias.php?baseClass=ilGlossaryPresentationGUI&amp;cmd=downloadFile&amp;ref_id=".$_GET["ref_id"]);
145 $page_gui->setPresentationTitle($this->term->getTerm());
146 $ret =& $this->ctrl->forwardCommand($page_gui);
147 $tpl->setContent($ret);
148 break;
149
150 default:
151 $this->setTabs();
152 $gloss_loc->display();
153 $ret =& $this->$cmd();
154 break;
155
156 }
157 }
158
159
163 function main_header($a_header_title)
164 {
165 global $lng;
166
167 $this->tpl->getStandardTemplate();
168 $this->tpl->setTitle($a_header_title);
169 $this->displayLocator();
170 //$this->setAdminTabs($a_type);
171 }
172
176 function setTabs()
177 {
178 global $ilTabs;
179
180 // catch feedback message
181 $this->getTabs($ilTabs);
182 }
183
187 function getTabs(&$tabs_gui)
188 {
189 // back to glossary
190 $tabs_gui->setBack2Target($this->lng->txt("glossary"),
191 $this->ctrl->getParentReturn($this));
192
193 // back to upper context
194 $tabs_gui->setBackTarget($this->lng->txt("term"),
195 $this->ctrl->getLinkTargetByClass("ilglossarytermgui", "editTerm"));
196
197 }
198
199
200 function saveShortText()
201 {
202 $this->definition->updateShortText();
203 }
204}
205?>
$_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