87    public function __construct($a_data, $a_id = 0, $a_call_by_reference = 
true, $a_prepare_output = 
true)
 
   92        $this->ctrl = 
$DIC->ctrl();
 
   93        $this->lng = 
$DIC->language();
 
   94        $this->
user = $DIC->user();
 
   95        $this->toolbar = 
$DIC->toolbar();
 
   96        $this->tabs = 
$DIC->tabs();
 
   97        $this->setting = 
$DIC[
"ilSetting"];
 
   98        $this->access = 
$DIC->access();
 
   99        $this->rbacsystem = 
$DIC->rbac()->system();
 
  100        $this->
help = $DIC[
"ilHelp"];
 
  106        $this->ctrl->saveParameter($this, array(
"ref_id", 
"offset"));
 
  108        $this->lng->loadLanguageModule(
"content");
 
  109        $this->lng->loadLanguageModule(
"glo");
 
  116        $this->term_id = (int) 
$_GET[
"term_id"];
 
  118        if ($this->term_id > 0 && $term_glo_id != $this->object->getId()
 
  123        $this->tax_id = $this->
object->getTaxonomyId();
 
  124        if ($this->tax_id > 0) {
 
  125            $this->ctrl->saveParameter($this, array(
"show_tax", 
"tax_node"));
 
  129        if ((
int) 
$_GET[
"tax_node"] > 1 && $this->tax->getTree()->readRootId() != 
$_GET[
"tax_node"]) {
 
  130            $this->tax_node = (int) 
$_GET[
"tax_node"];
 
  139        $cmd = $this->ctrl->getCmd();
 
  140        $next_class = $this->ctrl->getNextClass($this);
 
  142        $this->log->debug(
"glossary term, next class " . $next_class . 
", cmd: " . $cmd);
 
  144        switch ($next_class) {
 
  145            case 'ilobjectmetadatagui':
 
  153                $this->tabs_gui->activateTab(
'meta_data');
 
  155                $this->ctrl->forwardCommand($md_gui);
 
  158            case "ilglossarytermgui":
 
  159                if (!$this->term_perm->checkPermission(
"edit_content", $this->term_id) &&
 
  160                    !$this->term_perm->checkPermission(
"write", $this->term_id)) {
 
  165                $this->ctrl->setReturn($this, 
"listTerms");
 
  167                $term_gui->setGlossary($this->
object);
 
  169                $ret = $this->ctrl->forwardCommand($term_gui);
 
  172            case "ilinfoscreengui":
 
  177            case "ilobjstylesheetgui":
 
  178                $this->ctrl->setReturn($this, 
"editStyleProperties");
 
  179                $style_gui = 
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(), 
false, 
false);
 
  180                $style_gui->omitLocator();
 
  181                if ($cmd == 
"create" || 
$_GET[
"new_type"] == 
"sty") {
 
  182                    $style_gui->setCreationMode(
true);
 
  185                if ($cmd == 
"confirmedDelete") {
 
  186                    $this->
object->setStyleSheetId(0);
 
  187                    $this->
object->update();
 
  190                $ret = $this->ctrl->forwardCommand($style_gui);
 
  192                if ($cmd == 
"save" || $cmd == 
"copyStyle" || $cmd == 
"importStyle") {
 
  194                    $this->
object->setStyleSheetId($style_id);
 
  195                    $this->
object->update();
 
  196                    $this->ctrl->redirectByClass(
"ilobjstylesheetgui", 
"edit");
 
  201            case 'ilpermissiongui':
 
  202                if (strtolower(
$_GET[
"baseClass"]) == 
"iladministrationgui") {
 
  211                $ret = $this->ctrl->forwardCommand($perm_gui);
 
  214            case "ilcommonactiondispatchergui":
 
  217                $this->ctrl->forwardCommand($gui);
 
  220            case "ilobjtaxonomygui":
 
  225                $this->tabs->activateTab(
"settings");
 
  228                $this->ctrl->setReturn($this, 
"properties");
 
  230                $tax_gui->setMultiple(
false);
 
  232                $tax_gui->setAssignedObject($this->object->getId());
 
  233                $ret = $this->ctrl->forwardCommand($tax_gui);
 
  239                $this->tabs->activateTab(
"export");
 
  243                $exp_gui->addFormat(
"xml");
 
  244                $exp_gui->addFormat(
"html", 
"", $this, 
"exportHTML");
 
  245                $exp_gui->addCustomColumn(
 
  246                    $this->lng->txt(
"cont_public_access"),
 
  248                    "getPublicAccessColValue" 
  250                $exp_gui->addCustomMultiCommand(
 
  251                    $this->lng->txt(
"cont_public_access"),
 
  255                $ret = $this->ctrl->forwardCommand($exp_gui);
 
  258            case 'ilobjectcopygui':
 
  262                $this->ctrl->forwardCommand($cp);
 
  265            case "ilglossaryforeigntermcollectorgui":
 
  266                $this->ctrl->setReturn($this, 
"");
 
  272                $this->ctrl->forwardCommand($coll);
 
  276                $cmd = $this->ctrl->getCmd(
"listTerms");
 
  278                if (($cmd == 
"create") && (
$_POST[
"new_type"] == 
"term")) {
 
  279                    $this->ctrl->setCmd(
"create");
 
  280                    $this->ctrl->setCmdClass(
"ilGlossaryTermGUI");
 
  284                    if (!in_array($cmd, array(
"quickList"))) {
 
  285                        if (strtolower(
$_GET[
"baseClass"]) == 
"iladministrationgui" ||
 
  295                            if ($cmd == 
"redrawHeaderAction") {
 
  296                                $cmd = 
"redrawHeaderActionObject";
 
  300                    $ret = $this->$cmd();
 
  305        if (!in_array($cmd, array(
"quickList"))) {
 
  306            if (strtolower(
$_GET[
"baseClass"]) != 
"iladministrationgui") {
 
  308                    $this->tpl->printToStdout();
 
  312            $this->tpl->printToStdout(
false);
 
  324        $form->setTarget(
"_top");
 
  325        $form->setFormAction($this->ctrl->getFormAction($this));
 
  326        $form->setTitle($this->lng->txt($a_new_type . 
"_new"));
 
  332        $ti->setRequired(
true);
 
  343                        "none" => $this->lng->txt(
"glo_mode_normal"),
 
  344                        "level" => $this->lng->txt(
"glo_mode_level"),
 
  345                        "subtree" => $this->lng->txt(
"glo_mode_subtree")
 
  348        $tm->setOptions($stati);
 
  349        $tm->setInfo($this->lng->txt(
"glo_mode_desc"));
 
  350        $tm->setRequired(
true);
 
  356        $form->addCommandButton(
"save", $this->lng->txt($a_new_type . 
"_add"));
 
  357        $form->addCommandButton(
"cancel", $this->lng->txt(
"cancel"));
 
  374        $new_type = $_REQUEST[
"new_type"];
 
  378            $ilErr->raiseError($this->lng->txt(
"no_create_permission"), 
$ilErr->MESSAGE);
 
  381        $this->lng->loadLanguageModule($new_type);
 
  382        $this->ctrl->setParameter($this, 
"new_type", $new_type);
 
  385        if ($form->checkInput()) {
 
  386            $this->ctrl->setParameter($this, 
"new_type", 
"");
 
  389            $newObj->setType($new_type);
 
  390            $newObj->setTitle($form->getInput(
"title"));
 
  391            $newObj->setDescription($form->getInput(
"desc"));
 
  392            $newObj->setVirtualMode($form->getInput(
"glo_mode"));
 
  400                $newObj->applyDidacticTemplate($dtpl);
 
  404            ilUtil::sendSuccess($this->lng->txt(
"glo_added"), 
true);
 
  405            ilUtil::redirect(
"ilias.php?baseClass=ilGlossaryEditorGUI&ref_id=" . $newObj->getRefId());
 
  409        $form->setValuesByPost();
 
  410        $this->tpl->setContent($form->getHtml());
 
  424        $this->lng->loadLanguageModule(
"meta");
 
  427        $info->enablePrivateNotes();
 
  429        if ($this->access->checkAccess(
"write", 
"", 
$_GET[
"ref_id"])) {
 
  430            $info->enableNewsEditing();
 
  432            $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
  433            if ($enable_internal_rss) {
 
  434                $info->setBlockProperty(
"news", 
"settings", 
true);
 
  437        $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
 
  441        $this->ctrl->forwardCommand($info);
 
  455        $ilAccess = 
$DIC->access();
 
  457        $info->addSection(
$lng->txt(
"glo_usages"));
 
  459        foreach ($sms as $sm) {
 
  462            foreach ($refs as $ref) {
 
  463                if ($link === 
false) {
 
  464                    if ($ilAccess->checkAccess(
"write", 
"", $ref)) {
 
  471            if ($link !== 
false) {
 
  472                $entry = 
"<a href='" . $link . 
"' target='_top'>" . $entry . 
"</a>";
 
  475            $info->addProperty(
$lng->txt(
"obj_sahs"), $entry);
 
  484        if (strtolower(
$_GET[
"baseClass"]) == 
"iladministrationgui") {
 
  485            parent::viewObject();
 
  489        if (!$this->rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
 
  490            $ilErr->raiseError($this->lng->txt(
"permission_denied"), 
$ilErr->MESSAGE);
 
  509        $ecs->addSettingsToForm($this->form, 
'glo');
 
  511        $this->tpl->setContent($this->form->getHTML());
 
  528        $title->setRequired(
true);
 
  529        $this->form->addItem($title);
 
  533        $this->form->addItem($desc);
 
  535        $this->lng->loadLanguageModule(
"rep");
 
  537        $section->setTitle($this->lng->txt(
'rep_activation_availability'));
 
  542        $online->setValue(
"y");
 
  543        $online->setInfo($this->lng->txt(
"glo_online_info"));
 
  544        $this->form->addItem($online);
 
  547        $section->setTitle($this->lng->txt(
'glo_content_settings'));
 
  553        $op1 = 
new ilRadioOption($this->lng->txt(
"glo_mode_normal"), 
"none", $this->lng->txt(
"glo_mode_normal_info"));
 
  554        $glo_mode->addOption($op1);
 
  555        $op2 = 
new ilRadioOption($this->lng->txt(
"glo_mode_level"), 
"level", $this->lng->txt(
"glo_mode_level_info"));
 
  556        $glo_mode->addOption($op2);
 
  557        $op3 = 
new ilRadioOption($this->lng->txt(
"glo_mode_subtree"), 
"subtree", $this->lng->txt(
"glo_mode_subtree_info"));
 
  558        $glo_mode->addOption($op3);
 
  559        $this->form->addItem($glo_mode);
 
  574        $section->setTitle($this->lng->txt(
'cont_presentation'));
 
  578        $obj_service->commonSettings()->legacyForm($this->form, $this->
object)->addTileImage();
 
  582        $pres_mode->setValue(
"table");
 
  583        $op1 = 
new ilRadioOption($this->lng->txt(
"glo_table_form"), 
"table", $this->lng->txt(
"glo_table_form_info"));
 
  586        $snl = 
new ilNumberInputGUI($this->lng->txt(
"glo_text_snippet_length"), 
"snippet_length");
 
  587        $snl->setMaxValue(3000);
 
  588        $snl->setMinValue(100);
 
  589        $snl->setMaxLength(4);
 
  591        $snl->setInfo($this->lng->txt(
"glo_text_snippet_length_info"));
 
  593        $op1->addSubItem($snl);
 
  595        $pres_mode->addOption($op1);
 
  596        $op2 = 
new ilRadioOption($this->lng->txt(
"glo_full_definitions"), 
"full_def", $this->lng->txt(
"glo_full_definitions_info"));
 
  597        $pres_mode->addOption($op2);
 
  598        $this->form->addItem($pres_mode);
 
  602        if (count($tax_ids) > 0) {
 
  604            $show_tax->setInfo($this->lng->txt(
"glo_show_taxonomy_info"));
 
  605            $this->form->addItem($show_tax);
 
  609        $down = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads"), 
"glo_act_downloads");
 
  610        $down->setValue(
"y");
 
  611        $down->setInfo($this->lng->txt(
"cont_downloads_desc"));
 
  612        $this->form->addItem($down);
 
  614        if ($a_mode == 
"edit") {
 
  615            $title->setValue($this->object->getTitle());
 
  616            $desc->setValue($this->object->getDescription());
 
  617            $online->setChecked($this->object->getOnline());
 
  618            $glo_mode->setValue($this->object->getVirtualMode());
 
  619            $pres_mode->setValue($this->object->getPresentationMode());
 
  620            $snl->setValue($this->object->getSnippetLength());
 
  621            if (count($tax_ids) > 0) {
 
  622                $show_tax->setChecked($this->object->getShowTaxonomy());
 
  625            $down->setChecked($this->object->isActiveDownloads());
 
  629            $feat->setTitle($this->lng->txt(
'obj_features'));
 
  630            $this->form->addItem($feat);
 
  633                $this->object->getId(),
 
  643        $cols = $adv_ap->getColumnOrder();
 
  644        if (count(
$cols) > 1) {
 
  646            $this->form->addItem($ti);
 
  647            $ti->setValue(
$cols);
 
  651        $this->form->addCommandButton(
"saveProperties", $this->lng->txt(
"save"));
 
  653        $this->form->setTitle($this->lng->txt(
"cont_glo_properties"));
 
  654        $this->form->setFormAction($this->ctrl->getFormAction($this));
 
  666        if ($this->form->checkInput()) {
 
  667            $this->
object->setTitle(
$_POST[
'title']);
 
  668            $this->
object->setDescription(
$_POST[
'description']);
 
  670            $this->
object->setVirtualMode(
$_POST[
"glo_mode"]);
 
  673            $this->
object->setPresentationMode(
$_POST[
"pres_mode"]);
 
  674            $this->
object->setSnippetLength(
$_POST[
"snippet_length"]);
 
  675            $this->
object->setShowTaxonomy(
$_POST[
"show_tax"]);
 
  676            $this->
object->update();
 
  679            $obj_service->commonSettings()->legacyForm($this->form, $this->
object)->saveTileImage();
 
  683            $cols = $adv_ap->getColumnOrder();
 
  684            if (count(
$cols) > 1) {
 
  685                $adv_ap->saveColumnOrder(
$_POST[
"field_order"]);
 
  692                $this->object->getId(),
 
  701            if ($ecs->handleSettingsUpdate()) {
 
  702                ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"), 
true);
 
  703                $this->ctrl->redirect($this, 
"properties");
 
  706        $this->form->setValuesByPost();
 
  707        $this->tpl->setContent($this->form->getHTML());
 
  721        $ti = 
new ilTextInputGUI($this->lng->txt(
"cont_new_term"), 
"new_term");
 
  722        $ti->setMaxLength(80);
 
  724        $this->toolbar->addInputItem($ti, 
true);
 
  727        $this->lng->loadLanguageModule(
"meta");
 
  732            $s_lang = $this->
user->getLanguage();
 
  736        $si->setValue($s_lang);
 
  737        $this->toolbar->addInputItem(
$si, 
true);
 
  739        $this->toolbar->setFormAction($this->ctrl->getFormAction($this));
 
  740        $this->toolbar->addFormButton($this->lng->txt(
"glo_add_new_term"), 
"addTerm");
 
  742        $this->toolbar->addSeparator();
 
  745        if ($this->
user->clipboardHasObjectsOfType(
"term")) {
 
  746            $this->toolbar->addButton(
 
  747                $this->lng->txt(
"paste"),
 
  748                $this->ctrl->getLinkTarget($this, 
"pasteTerms")
 
  750            $this->toolbar->addButton(
 
  751                $this->lng->txt(
"clear_clipboard"),
 
  752                $this->ctrl->getLinkTarget($this, 
"clearClipboard")
 
  755            $this->toolbar->addButton(
 
  756                $this->lng->txt(
"glo_add_from_other"),
 
  757                $this->ctrl->getLinkTargetByClass(
"ilglossaryforeigntermcollectorgui", 
"")
 
  778        $this->tpl->setContent($tab->getHTML());
 
  789        $this->ctrl->setParameter($this, 
"show_tax", 1);
 
  790        $this->ctrl->redirect($this, 
"listTerms");
 
  801        $this->ctrl->setParameter($this, 
"show_tax", 
"");
 
  802        $this->ctrl->redirect($this, 
"listTerms");
 
  817        $notoperations = array();
 
  818        $operations = array();
 
  822        if (count($operations) > 0) {
 
  823            foreach ($operations as $val) {
 
  824                $this->tpl->setCurrentBlock(
"tbl_action_btn");
 
  825                $this->tpl->setVariable(
"BTN_NAME", $val[
"name"]);
 
  826                $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt($val[
"lng"]));
 
  827                $this->tpl->parseCurrentBlock();
 
  830            $this->tpl->setCurrentBlock(
"tbl_action_row");
 
  832            $this->tpl->parseCurrentBlock();
 
  841        if (trim(
$_POST[
"new_term"]) == 
"") {
 
  843            $this->ctrl->redirect($this, 
"listTerms");
 
  848        $term->setGlossary($this->
object);
 
  856        $def->setTermId(
$term->getId());
 
  860        $this->ctrl->setParameterByClass(
"ilglossarydefpagegui", 
"term_id", 
$term->getId());
 
  861        $this->ctrl->setParameterByClass(
"ilglossarydefpagegui", 
"def", $def->getId());
 
  862        $this->ctrl->redirectByClass(array(
"ilglossarytermgui",
 
  863            "iltermdefinitioneditorgui", 
"ilglossarydefpagegui"), 
"edit");
 
  872        $definition->moveUp();
 
  874        $this->ctrl->redirect($this, 
"listTerms");
 
  883        $definition->moveDown();
 
  885        $this->ctrl->redirect($this, 
"listTerms");
 
  902            $this->ctrl->setParameterByClass(
 
  907            $link = 
"[<a href='" .
 
  908                $this->ctrl->getLinkTargetByClass(
"ilglossarytermgui", 
"listUsages") .
 
  909                "'>" . $this->lng->txt(
"glo_list_usages") . 
"</a>]";
 
  910            $add = 
"<br/>" . sprintf($this->lng->txt(
"glo_term_is_used_n_times"), $nr) . 
" " . $link;
 
  914        $cgui->setHeaderText($this->lng->txt(
"info_delete_sure") . $add);
 
  916        $cgui->setFormAction($this->ctrl->getFormAction($this));
 
  917        $cgui->setCancel($this->lng->txt(
"cancel"), 
"cancelDefinitionDeletion");
 
  918        $cgui->setConfirm($this->lng->txt(
"confirm"), 
"deleteDefinition");
 
  924        $this->tpl->setCurrentBlock(
"SyntaxStyle");
 
  925        $this->tpl->setVariable(
 
  926            "LOCATION_SYNTAX_STYLESHEET",
 
  929        $this->tpl->parseCurrentBlock();
 
  933        $page_gui->setTemplateOutput(
false);
 
  934        $page_gui->setStyleId($this->object->getStyleSheetId());
 
  935        $page_gui->setSourcecodeDownloadScript(
"ilias.php?baseClass=ilGlossaryPresentationGUI&ref_id=" . 
$_GET[
"ref_id"]);
 
  936        $page_gui->setFileDownloadLink(
"ilias.php?baseClass=ilGlossaryPresentationGUI&ref_id=" . 
$_GET[
"ref_id"]);
 
  937        $page_gui->setFullscreenLink(
"ilias.php?baseClass=ilGlossaryPresentationGUI&ref_id=" . 
$_GET[
"ref_id"]);
 
  938        $output = $page_gui->preview();
 
  940        $cgui->addItem(
"def", 
$_GET[
"def"], 
$term->getTerm() . $output);
 
  942        $this->tpl->setContent($cgui->getHTML());
 
  947        $this->ctrl->redirect($this, 
"listTerms");
 
  954        $definition->delete();
 
  955        $this->ctrl->redirect($this, 
"listTerms");
 
  977        ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"), 
true);
 
  978        $this->ctrl->redirect($this, 
"listTerms");
 
  991        $glo_exp->buildExportFile();
 
  992        $this->ctrl->redirectByClass(
"ilexportgui", 
"");
 
 1001        $glo_exp->buildExportFile();
 
 1003        $this->ctrl->redirectByClass(
"ilexportgui", 
"");
 
 1013        if (!isset(
$_POST[
"file"])) {
 
 1014            $ilErr->raiseError($this->lng->txt(
"no_checkbox"), 
$ilErr->MESSAGE);
 
 1016        if (count(
$_POST[
"file"]) > 1) {
 
 1017            $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"), 
$ilErr->MESSAGE);
 
 1020        $file = explode(
":", 
$_POST[
"file"][0]);
 
 1021        $export_dir = $this->
object->getExportDirectory($file[0]);
 
 1023        if ($this->object->getPublicExportFile($file[0]) ==
 
 1025            $this->
object->setPublicExportFile($file[0], 
"");
 
 1027            $this->
object->setPublicExportFile($file[0], $file[1]);
 
 1029        $this->
object->update();
 
 1030        $this->ctrl->redirectByClass(
"ilexportgui", 
"");
 
 1046        if (!isset(
$_POST[
"id"])) {
 
 1048            $this->ctrl->redirect($this, 
"listTerms");
 
 1056                $this->ctrl->redirect($this, 
"listTerms");
 
 1062        $cgui->setFormAction($this->ctrl->getFormAction($this));
 
 1063        $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
 
 1064        $cgui->setCancel($this->lng->txt(
"cancel"), 
"cancelTermDeletion");
 
 1065        $cgui->setConfirm($this->lng->txt(
"confirm"), 
"deleteTerms");
 
 1067        foreach (
$_POST[
"id"] as $id) {
 
 1073                $this->ctrl->setParameterByClass(
 
 1074                    "ilglossarytermgui",
 
 1080                    $add = 
" (" . $this->lng->txt(
"glo_term_reference") . 
")";
 
 1082                    $link = 
"[<a href='" .
 
 1083                        $this->ctrl->getLinkTargetByClass(
"ilglossarytermgui", 
"listUsages") .
 
 1084                        "'>" . $this->lng->txt(
"glo_list_usages") . 
"</a>]";
 
 1085                    $add = 
"<div class='small'>" .
 
 1086                        sprintf($this->lng->txt(
"glo_term_is_used_n_times"), $nr) . 
" " . $link . 
"</div>";
 
 1090            $cgui->addItem(
"id[]", $id, 
$term->getTerm() . $add);
 
 1093        $this->tpl->setContent($cgui->getHTML());
 
 1103        $this->ctrl->redirect($this, 
"listTerms");
 
 1111        foreach (
$_POST[
"id"] as $id) {
 
 1114                $refs->deleteTerm($id);
 
 1121        $this->ctrl->redirect($this, 
"listTerms");
 
 1133        if (strtolower(
$_GET[
"baseClass"]) != 
"ilglossaryeditorgui") {
 
 1134            parent::setLocator($a_tree, $a_id);
 
 1136            if (is_object($this->
object)) {
 
 1138                if (is_object($this->term)) {
 
 1139                    $gloss_loc->setTerm($this->term);
 
 1141                $gloss_loc->setGlossary($this->
object);
 
 1143                $gloss_loc->display();
 
 1162        switch (
$_POST[
"new_type"]) {
 
 1165                $term_gui->create();
 
 1173        $term_gui->setGlossary($this->
object);
 
 1176        ilUtil::sendSuccess($this->lng->txt(
"cont_added_term"), 
true);
 
 1179        $this->ctrl->redirect($this, 
"listTerms");
 
 1191        if ($term_glo_id != $this->object->getId()) {
 
 1193            $this->ctrl->redirect($this, 
"listTerms");
 
 1201        $def->setTermId(
$term->getId());
 
 1205        $this->ctrl->setParameterByClass(
"ilglossarydefpagegui", 
"term_id", 
$term->getId());
 
 1206        $this->ctrl->setParameterByClass(
"ilglossarydefpagegui", 
"def", $def->getId());
 
 1207        $this->ctrl->redirectByClass(array(
"ilglossarytermgui",
 
 1208            "iltermdefinitioneditorgui", 
"ilglossarydefpagegui"), 
"edit");
 
 1213        $this->tpl->loadStandardTemplate();
 
 1215        $title = $this->
object->getTitle();
 
 1218        if ($this->term_id > 0) {
 
 1219            $this->tpl->setTitle($this->lng->txt(
"term") . 
": " .
 
 1222            parent::setTitleAndDescription();
 
 1224            $this->tpl->setTitle($this->lng->txt(
"glo") . 
": " . $title);
 
 1241        $this->
help->setScreenIdComponent(
"glo");
 
 1244        $force_active = (
$_GET[
"cmd"] == 
"" || 
$_GET[
"cmd"] == 
"listTerms")
 
 1247        $this->tabs_gui->addTarget(
 
 1249            $this->ctrl->getLinkTarget($this, 
"listTerms"),
 
 1250            array(
"listTerms", 
""),
 
 1256        $force_active = 
false;
 
 1257        if ($this->ctrl->getCmd() == 
"showSummary" ||
 
 1258            strtolower($this->ctrl->getNextClass()) == 
"ilinfoscreengui") {
 
 1259            $force_active = 
true;
 
 1261        $this->tabs_gui->addTarget(
 
 1263            $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui", 
"showSummary"),
 
 1271        if ($this->rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
 
 1272            $this->tabs_gui->addTarget(
 
 1274                $this->ctrl->getLinkTarget($this, 
"properties"),
 
 1281            $mdtab = $mdgui->getTab();
 
 1283                $this->tabs_gui->addTarget(
 
 1287                    "ilobjectmetadatagui" 
 1297            $this->tabs_gui->addTarget(
 
 1299                $this->ctrl->getLinkTargetByClass(
"ilexportgui", 
""),
 
 1306        if ($this->rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
 
 1312            $this->tabs_gui->addTarget(
 
 1314                $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm"),
 
 1315                array(
"perm",
"info",
"owner"),
 
 1320        $this->tabs_gui->addNonTabbedLink(
 
 1321            "presentation_view",
 
 1322            $this->lng->txt(
"glo_presentation_view"),
 
 1323            "ilias.php?baseClass=ilGlossaryPresentationGUI&ref_id=" . $this->object->getRefID(),
 
 1335            array(
"general_settings", 
"style", 
"taxonomy", 
"glossaries")
 
 1338            $this->tabs->addSubTab(
 
 1340                $this->lng->txt(
"settings"),
 
 1341                $this->ctrl->getLinkTarget($this, 
'properties')
 
 1345            $this->tabs->addSubTab(
 
 1347                $this->lng->txt(
"obj_sty"),
 
 1348                $this->ctrl->getLinkTarget($this, 
'editStyleProperties')
 
 1353            $this->tabs->addSubTab(
 
 1355                $this->lng->txt(
"tax_taxonomy"),
 
 1356                $this->ctrl->getLinkTargetByClass(
"ilobjtaxonomygui", 
'')
 
 1360            $this->tabs->addSubTab(
 
 1362                $this->lng->txt(
"cont_auto_glossaries"),
 
 1363                $this->ctrl->getLinkTarget($this, 
'editGlossaries')
 
 1366            $this->tabs->activateSubTab($a_active);
 
 1381        $ilAccess = 
$DIC->access();
 
 1384        if ($ilAccess->checkAccess(
"read", 
"", $a_target)) {
 
 1385            $_GET[
"ref_id"] = $a_target;
 
 1386            $_GET[
"baseClass"] = 
"ilGlossaryPresentationGUI";
 
 1387            include(
"ilias.php");
 
 1389        } elseif ($ilAccess->checkAccess(
"visible", 
"", $a_target)) {
 
 1390            $_GET[
"ref_id"] = $a_target;
 
 1391            $_GET[
"cmd"] = 
"infoScreen";
 
 1392            $_GET[
"baseClass"] = 
"ilGlossaryPresentationGUI";
 
 1393            include(
"ilias.php");
 
 1397                $lng->txt(
"msg_no_perm_read_item"),
 
 1412        $prtab->resetOffset();
 
 1413        $prtab->writeFilterToSession();
 
 1424        $prtab->resetOffset();
 
 1425        $prtab->resetFilter();
 
 1439        if ($a_tpl != 
null) {
 
 1445        $ctpl->setCurrentBlock(
"ContentStyle");
 
 1447            "LOCATION_CONTENT_STYLESHEET",
 
 1450        $ctpl->parseCurrentBlock();
 
 1462        $this->tpl->setContent($this->form->getHTML());
 
 1464        $this->tabs->activateTab(
"settings");
 
 1473        $this->lng->loadLanguageModule(
"style");
 
 1477        $fixed_style = $this->setting->get(
"fixed_content_style_id");
 
 1478        $style_id = $this->
object->getStyleSheetId();
 
 1480        if ($fixed_style > 0) {
 
 1483                $this->lng->txt(
"global_fixed") . 
")");
 
 1484            $this->form->addItem($st);
 
 1492            $st_styles[0] = $this->lng->txt(
"default");
 
 1495            if ($style_id > 0) {
 
 1500                    $this->form->addItem($st);
 
 1505                    $this->form->addCommandButton(
 
 1507                        $this->lng->txt(
"style_edit_style")
 
 1509                    $this->form->addCommandButton(
 
 1511                        $this->lng->txt(
"style_delete_style")
 
 1525                $style_sel = 
new ilSelectInputGUI($this->lng->txt(
"style_current_style"), 
"style_id");
 
 1526                $style_sel->setOptions($st_styles);
 
 1527                $style_sel->setValue($style_id);
 
 1528                $this->form->addItem($style_sel);
 
 1530                $this->form->addCommandButton(
 
 1531                    "saveStyleSettings",
 
 1532                    $this->lng->txt(
"save")
 
 1534                $this->form->addCommandButton(
 
 1536                    $this->lng->txt(
"sty_create_ind_style")
 
 1540        $this->form->setTitle($this->lng->txt(
"glo_style"));
 
 1541        $this->form->setFormAction($this->ctrl->getFormAction($this));
 
 1549        $this->ctrl->redirectByClass(
"ilobjstylesheetgui", 
"create");
 
 1557        $this->ctrl->redirectByClass(
"ilobjstylesheetgui", 
"edit");
 
 1565        $this->ctrl->redirectByClass(
"ilobjstylesheetgui", 
"delete");
 
 1573        if ($this->setting->get(
"fixed_content_style_id") <= 0 &&
 
 1575            || $this->object->getStyleSheetId() == 0)) {
 
 1577            $this->
object->update();
 
 1578            ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"), 
true);
 
 1580        $this->ctrl->redirect($this, 
"editStyleProperties");
 
 1588        if ($this->object->getPublicExportFile($a_type) == $a_file) {
 
 1589            return $this->lng->txt(
"yes");
 
 1607        if (count($tax_ids) > 0) {
 
 1608            $tax_id = $tax_ids[0];
 
 1609            $DIC->globalScreen()->tool()->context()->current()
 
 1610                ->addAdditionalData(
 
 1614            $DIC->globalScreen()->tool()->context()->current()
 
 1615                ->addAdditionalData(
 
 1617                    $ctrl->getCurrentClassPath()
 
 1619            $DIC->globalScreen()->tool()->context()->current()
 
 1620                ->addAdditionalData(
 
 1624            $DIC->globalScreen()->tool()->context()->current()
 
 1625                ->addAdditionalData(
 
 1629            $DIC->globalScreen()->tool()->context()->current()
 
 1630                ->addAdditionalData(
 
 1643            if (!$tax_exp->handleCommand()) {
 
 1662        $this->tabs->setTabActive(
"settings");
 
 1665        $this->toolbar->addButton(
 
 1666            $this->lng->txt(
"add"),
 
 1667            $this->ctrl->getLinkTarget($this, 
"showGlossarySelector")
 
 1672        $this->tpl->setContent($tab->getHTML());
 
 1683        $this->tabs->setTabActive(
"settings");
 
 1687        $exp->setExpand(
$_GET[
"search_root_expand"] ? 
$_GET[
"search_root_expand"] : $this->tree->readRootId());
 
 1688        $exp->setExpandTarget($this->ctrl->getLinkTarget($this, 
'showGlossarySelector'));
 
 1689        $exp->setTargetClass(get_class($this));
 
 1690        $exp->setCmd(
'confirmGlossarySelection');
 
 1691        $exp->setClickableTypes(array(
"glo"));
 
 1692        $exp->addFilter(
"glo");
 
 1696        $this->tpl->setContent($exp->getOutput());
 
 1705        $this->ctrl->setParameter($this, 
"glo_ref_id", 
$_GET[
"root_id"]);
 
 1706        $cgui->setFormAction($this->ctrl->getFormAction($this));
 
 1707        $cgui->setHeaderText($this->lng->txt(
"glo_link_glo_in_glo"));
 
 1708        $cgui->setCancel($this->lng->txt(
"no"), 
"selectGlossary");
 
 1709        $cgui->setConfirm($this->lng->txt(
"yes"), 
"selectGlossaryLink");
 
 1710        $this->tpl->setContent($cgui->getHTML());
 
 1721        $glo_ref_id = (int) 
$_GET[
"glo_ref_id"];
 
 1723        $this->
object->autoLinkGlossaryTerms($glo_ref_id);
 
 1736        $glos = $this->
object->getAutoGlossaries();
 
 1737        $glo_ref_id = (int) 
$_GET[
"glo_ref_id"];
 
 1739        if (!in_array($glo_id, $glos)) {
 
 1742        $this->
object->setAutoGlossaries($glos);
 
 1743        $this->
object->update();
 
 1745        ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"), 
true);
 
 1746        $this->ctrl->redirect($this, 
"editGlossaries");
 
 1757        $this->
object->removeAutoGlossary((
int) 
$_GET[
"glo_id"]);
 
 1758        $this->
object->update();
 
 1760        ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"), 
true);
 
 1761        $this->ctrl->redirect($this, 
"editGlossaries");
 
 1773        if (!is_array($items)) {
 
 1775            $this->ctrl->redirect($this, 
"listTerms");
 
 1778        $this->
user->clipboardDeleteObjectsOfType(
"term");
 
 1781        $time = date(
"Y-m-d H:i:s", time());
 
 1783        foreach ($items as $id) {
 
 1784            $this->
user->addObjectToClipboard(
 
 1795        ilUtil::sendInfo($this->lng->txt(
"glo_selected_terms_have_been_copied"), 
true);
 
 1796        $this->ctrl->redirect($this, 
"listTerms");
 
 1808        if (!is_array($items)) {
 
 1810            $this->ctrl->redirect($this, 
"listTerms");
 
 1813        $this->
user->clipboardDeleteObjectsOfType(
"term");
 
 1816        $time = date(
"Y-m-d H:i:s", time());
 
 1818        foreach ($items as $id) {
 
 1819            $this->
user->addObjectToClipboard(
 
 1830        ilUtil::sendInfo($this->lng->txt(
"glo_selected_terms_have_been_copied"), 
true);
 
 1831        $this->ctrl->redirect($this, 
"listTerms");
 
 1843        $this->
user->clipboardDeleteObjectsOfType(
"term");
 
 1844        $this->ctrl->redirect($this, 
"listTerms");
 
 1853            foreach ($this->
user->getClipboardObjects(
"term") as $item) {
 
 1859            foreach ($this->
user->getClipboardObjects(
"term") as $item) {
 
 1860                $refs->addTerm($item[
"id"]);
 
 1864        ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"), 
true);
 
 1865        $this->ctrl->redirect($this, 
"listTerms");
 
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
Class ilECSGlossarySettings.
static setAction($a_action)
Export User Interface Class.
TableGUI class for auto link glossaries.
Glossary definition page GUI class.
Class ilGlossaryDefinition.
static setShortTextsDirty($a_glo_id)
Set short texts dirty.
Export class for content objects.
static getInstance(ilObjGlossaryGUI $a_glossary_gui)
Get instance.
GUI class for glossary terms.
static getInstance()
Get instance.
static isReferenced($a_glo_id, $a_term_id)
Is a term referenced by one or multiple glossaries.
static getNumberOfUsages($a_term_id)
Get number of usages.
static _lookGlossaryID($term_id)
get glossary id form term id
static _copyTerm($a_term_id, $a_glossary_id)
Copy a term to a glossary.
static _lookGlossaryTerm($term_id)
get glossary term
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static getLogger($a_component_id)
Get component logger.
This class represents a non editable value in a property form.
initSettingsForm($a_mode="edit")
Init settings form.
exportHTML()
create html package
addDefinition()
add definition
deleteStyle()
Delete Style.
referenceTerms()
Reference terms.
moveDefinitionDown()
move a definiton down
setLocator($a_tree="", $a_id="")
set Locator
static _goto($a_target)
redirect script
setContentStyleSheet($a_tpl=null)
Set content style sheet.
setSettingsSubTabs($a_active)
Set sub tabs.
createStyle()
Create Style.
initStylePropertiesForm()
Init style properties form.
confirmGlossarySelection()
Confirm glossary selection.
confirmTermDeletion()
confirm term deletion
confirmDefinitionDeletion()
deletion confirmation screen
getPublicAccessColValue($a_type, $a_file)
Get public access value for export table.
static addUsagesToInfo($info, $glo_id)
Add usages to info.
applyFilter()
Apply filter.
actTaxonomy()
Show Taxonomy.
executeCommand()
execute command
showActions($a_actions)
show possible action (form buttons)
properties()
edit properties of object (admin form)
deleteTerms()
delete selected terms
moveDefinitionUp()
move a definiton up
viewObject()
viewObject container presentation for "administration -> repository, trash, permissions"
showTaxonomy()
Show taxonomy.
editStyleProperties()
Edit style properties.
selectGlossaryLink()
Select a glossary and link all its terms.
__construct($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
showGlossarySelector()
Select LM Glossary.
publishExportFile()
download export file
saveObject()
save new content object to db
selectGlossary()
Select lm glossary.
cancelDefinitionDeletion()
resetFilter()
Reset filter (note: this function existed before data table filter has been introduced.
create()
create new (subobject) in glossary
deactTaxonomy()
Hide Taxonomy.
clearClipboard()
Clear clipboard.
export()
export content object
saveStyleSettings()
Save style settings.
initCreateForm($a_new_type)
Init object creation form.
cancelTermDeletion()
cancel deletion of object
removeGlossary()
Remove lm glossary.
showInfoScreen()
Show info screen.
saveProperties()
save properties
editGlossaries()
Edit automatically linked glossaries.
static getScormModulesForGlossary($a_glo_id)
Get SCORM modules that assign a certain glossary.
Class ilObjStyleSheetGUI.
static _lookupStandard($a_id)
Lookup standard flag.
static getSyntaxStylePath()
get syntax style path
static _getStandardStyles( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static getContentStylePath($a_style_id, $add_random=true, $add_token=true)
get content style path
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
static loadLanguageModule()
Load language module.
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
getDidacticTemplateVar($a_type)
Get didactic template setting from creation screen.
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
prepareOutput($a_show_subobjects=true)
prepare output
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
initDidacticTemplate(ilPropertyFormGUI $form)
Show didactic template types.
addHeaderAction()
Add header action menu.
createObject()
create new object form
getObjectService()
Get object service.
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
static _lookupObjId($a_id)
const TITLE_LENGTH
max length of object title
static _lookupTitle($a_id)
lookup object title
static _getAllReferences($a_id)
get all reference ids of object
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents an option in a radio group.
Taxonomy explorer GUI class.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static yn2tf($a_yn)
convert "y"/"n" to true/false
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 getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc