35     protected \ILIAS\Notes\Service 
$notes;
    49         $this->notes = $DIC->notes();
    55         $this->master_lang_only = $a_val;
    68             $this->transl_into = 
true;
    69             $this->transl_into_lm = $a_lm;
    70             $this->transl_lang = $a_lang;
    72             $this->transl_into = 
false;
    93         return array(
"5.1.0", 
"5.4.0");
    96     protected function getXmlNamespace(
string $a_entity, 
string $a_schema_version): string
    98         return "https://www.ilias.de/xml/Modules/LearningModule/" . $a_entity;
   101     protected function getTypes(
string $a_entity, 
string $a_version): array
   103         if ($a_entity == 
"lm") {
   104             switch ($a_version) {
   109                         "Description" => 
"text",
   110                         "DefaultLayout" => 
"text",
   111                         "PageHeader" => 
"text",
   112                         "TocActive" => 
"text",
   113                         "LMMenuActive" => 
"text",
   115                         "PrintViewActive" => 
"text",
   116                         "Numbering" => 
"text",
   117                         "HistUserComments" => 
"text",
   118                         "PublicAccessMode" => 
"text",
   119                         "PubNotes" => 
"text",
   120                         "HeaderPage" => 
"integer",
   121                         "FooterPage" => 
"integer",
   122                         "LayoutPerPage" => 
"integer",
   123                         "Rating" => 
"integer",
   124                         "HideHeadFootPrint" => 
"integer",
   125                         "DisableDefFeedback" => 
"integer",
   126                         "RatingPages" => 
"integer",
   127                         "ProgrIcons" => 
"integer",
   128                         "StoreTries" => 
"integer",
   129                         "RestrictForwNav" => 
"integer",
   130                         "Comments" => 
"integer",
   131                         "ForTranslation" => 
"integer",
   132                         "StyleId" => 
"integer"   139                         "Description" => 
"text",
   140                         "DefaultLayout" => 
"text",
   141                         "PageHeader" => 
"text",
   142                         "TocActive" => 
"text",
   143                         "LMMenuActive" => 
"text",
   145                         "PrintViewActive" => 
"text",
   146                         "NoGloAppendix" => 
"text",
   147                         "Numbering" => 
"text",
   148                         "HistUserComments" => 
"text",
   149                         "PublicAccessMode" => 
"text",
   150                         "PubNotes" => 
"text",
   151                         "HeaderPage" => 
"integer",
   152                         "FooterPage" => 
"integer",
   153                         "LayoutPerPage" => 
"integer",
   154                         "Rating" => 
"integer",
   155                         "HideHeadFootPrint" => 
"integer",
   156                         "DisableDefFeedback" => 
"integer",
   157                         "RatingPages" => 
"integer",
   158                         "ProgrIcons" => 
"integer",
   159                         "StoreTries" => 
"integer",
   160                         "RestrictForwNav" => 
"integer",
   161                         "Comments" => 
"integer",
   162                         "ForTranslation" => 
"integer",
   163                         "StyleId" => 
"integer"   170                         "Description" => 
"text",
   171                         "DefaultLayout" => 
"text",
   172                         "PageHeader" => 
"text",
   173                         "TocActive" => 
"text",
   174                         "LMMenuActive" => 
"text",
   176                         "PrintViewActive" => 
"text",
   177                         "NoGloAppendix" => 
"text",
   178                         "Numbering" => 
"text",
   179                         "HistUserComments" => 
"text",
   180                         "PublicAccessMode" => 
"text",
   181                         "PubNotes" => 
"text",
   182                         "HeaderPage" => 
"integer",
   183                         "FooterPage" => 
"integer",
   184                         "LayoutPerPage" => 
"integer",
   185                         "Rating" => 
"integer",
   186                         "HideHeadFootPrint" => 
"integer",
   187                         "DisableDefFeedback" => 
"integer",
   188                         "RatingPages" => 
"integer",
   189                         "ProgrIcons" => 
"integer",
   190                         "StoreTries" => 
"integer",
   191                         "RestrictForwNav" => 
"integer",
   192                         "Comments" => 
"integer",
   193                         "ForTranslation" => 
"integer",
   194                         "StyleId" => 
"integer",
   195                         "EstimatedReadingTime" => 
"integer"   202                         "Description" => 
"text",
   203                         "DefaultLayout" => 
"text",
   204                         "PageHeader" => 
"text",
   205                         "TocActive" => 
"text",
   206                         "LMMenuActive" => 
"text",
   208                         "PrintViewActive" => 
"text",
   209                         "NoGloAppendix" => 
"text",
   210                         "Numbering" => 
"text",
   211                         "PubNotes" => 
"text",
   212                         "HeaderPage" => 
"integer",
   213                         "FooterPage" => 
"integer",
   214                         "LayoutPerPage" => 
"integer",
   215                         "Rating" => 
"integer",
   216                         "HideHeadFootPrint" => 
"integer",
   217                         "DisableDefFeedback" => 
"integer",
   218                         "RatingPages" => 
"integer",
   219                         "ProgrIcons" => 
"integer",
   220                         "StoreTries" => 
"integer",
   221                         "RestrictForwNav" => 
"integer",
   222                         "Comments" => 
"integer",
   223                         "ForTranslation" => 
"integer",
   224                         "StyleId" => 
"integer",
   225                         "EstimatedReadingTime" => 
"integer"   230         if ($a_entity == 
"lm_tree") {
   231             switch ($a_version) {
   237                         "Child" => 
"integer",
   238                         "Parent" => 
"integer",
   239                         "Depth" => 
"integer",
   242                         "ShortTitle" => 
"text",
   243                         "PublicAccess" => 
"text",
   251                         "Child" => 
"integer",
   252                         "Parent" => 
"integer",
   253                         "Depth" => 
"integer",
   256                         "ShortTitle" => 
"text",
   264         if ($a_entity == 
"lm_menu") {
   265             switch ($a_version) {
   272                             "LinkType" => 
"text",
   275                             "LinkRefId" => 
"text",
   281         if ($a_entity == 
"lm_data_transl") {
   282             switch ($a_version) {
   291                             "ShortTitle" => 
"text"   298     public function readData(
string $a_entity, 
string $a_version, array $a_ids): void
   302         if (!is_array($a_ids)) {
   303             $a_ids = array($a_ids);
   307         if ($a_entity == 
"lm") {
   308             switch ($a_version) {
   312                     switch ($a_version) {
   314                             $q = 
"SELECT id, title, description," .
   315                                 " default_layout, page_header, toc_active, lm_menu_active, toc_mode, print_view_active, numbering," .
   316                                 " hist_user_comments, public_access_mode, header_page, footer_page, layout_per_page, rating, " .
   317                                 " hide_head_foot_print, disable_def_feedback, rating_pages, store_tries, restrict_forw_nav, progr_icons, stylesheet style_id" .
   318                                 " FROM content_object JOIN object_data ON (content_object.id = object_data.obj_id)" .
   319                                 " WHERE " . 
$ilDB->in(
"id", $a_ids, 
false, 
"integer");
   324                             $q = 
"SELECT id, title, description," .
   325                                 " default_layout, page_header, toc_active, lm_menu_active, toc_mode, print_view_active, numbering," .
   326                                 " hist_user_comments, public_access_mode, no_glo_appendix, header_page, footer_page, layout_per_page, rating, " .
   327                                 " hide_head_foot_print, disable_def_feedback, rating_pages, store_tries, restrict_forw_nav, progr_icons, stylesheet style_id" .
   328                                 " FROM content_object JOIN object_data ON (content_object.id = object_data.obj_id)" .
   329                                 " WHERE " . 
$ilDB->in(
"id", $a_ids, 
false, 
"integer");
   332                             $q = 
"SELECT id, title, description," .
   333                                 " default_layout, page_header, toc_active, lm_menu_active, toc_mode, print_view_active, numbering," .
   334                                 " hist_user_comments, no_glo_appendix, header_page, footer_page, layout_per_page, rating, " .
   335                                 " hide_head_foot_print, disable_def_feedback, rating_pages, store_tries, restrict_forw_nav, progr_icons, stylesheet style_id" .
   336                                 " FROM content_object JOIN object_data ON (content_object.id = object_data.obj_id)" .
   337                                 " WHERE " . 
$ilDB->in(
"id", $a_ids, 
false, 
"integer");
   342                     $this->data = array();
   343                     while ($rec = 
$ilDB->fetchAssoc($set)) {
   345                         $rec[
"comments"] = (string) (
int)
   346                             $this->notes->domain()->commentsActive((
int) $rec[
"id"]);
   348                         if ($a_version === 
"8.0") {
   349                             $rec[
"estimated_reading_time"] = (string) (
int)
   350                                 $this->reading_time_manager->isActivated((
int) $rec[
"id"]);
   354                             $rec[
"for_translation"] = 1;
   357                         foreach ($rec as $k => $v) {
   362                         $this->data[] = $rec;
   368         if ($a_entity == 
"lm_tree") {
   369             switch ($a_version) {
   375                     $q = 
"SELECT lm_tree.lm_id, child, parent, depth, type, title, short_title, public_access, active, layout, import_id" .
   376                         " FROM lm_tree JOIN lm_data ON (lm_tree.child = lm_data.obj_id)" .
   377                         " WHERE " . 
$ilDB->in(
"lm_tree.lm_id", $a_ids, 
false, 
"integer") .
   381                     $this->data = array();
   383                     while ($rec = 
$ilDB->fetchAssoc($set)) {
   384                         $set2 = 
$ilDB->query(
"SELECT for_translation FROM content_object WHERE id = " . 
$ilDB->quote($rec[
"lm_id"], 
"integer"));
   385                         $rec2 = 
$ilDB->fetchAssoc($set2);
   386                         if (!$rec2[
"for_translation"]) {
   387                             $rec[
"import_id"] = 
"il_" . 
IL_INST_ID . 
"_" . $rec[
"type"] . 
"_" . $rec[
"child"];
   390                         foreach ($rec as $k => $v) {
   395                         $obj_ids[] = $rec[
"Child"];
   396                         $this->data[] = $rec;
   400                     $set3 = 
$ilDB->query(
$q = 
"SELECT lm_id, type, title, short_title, public_access, active, layout, import_id, obj_id child FROM lm_data " .
   401                         "WHERE " . 
$ilDB->in(
"lm_id", $a_ids, 
false, 
"integer") .
   402                         " AND " . 
$ilDB->in(
"obj_id", $obj_ids, 
true, 
"integer") .
   403                         " AND type = " . 
$ilDB->quote(
"pg", 
"text"));
   404                     while ($rec3 = 
$ilDB->fetchAssoc($set3)) {
   405                         $set2 = 
$ilDB->query(
"SELECT for_translation FROM content_object WHERE id = " . 
$ilDB->quote($rec3[
"lm_id"], 
"integer"));
   406                         $rec2 = 
$ilDB->fetchAssoc($set2);
   407                         if (!$rec2[
"for_translation"]) {
   408                             $rec3[
"import_id"] = 
"il_" . 
IL_INST_ID . 
"_pg_" . $rec3[
"child"];
   410                         $rec3[
"type"] = 
"free_pg";
   414                         foreach ($rec3 as $k => $v) {
   418                         $this->data[] = $tmp;
   424                     $q = 
"SELECT lm_tree.lm_id, child, parent, depth, type, title, short_title, active, layout, import_id" .
   425                         " FROM lm_tree JOIN lm_data ON (lm_tree.child = lm_data.obj_id)" .
   426                         " WHERE " . 
$ilDB->in(
"lm_tree.lm_id", $a_ids, 
false, 
"integer") .
   430                     $this->data = array();
   432                     while ($rec = 
$ilDB->fetchAssoc($set)) {
   433                         $set2 = 
$ilDB->query(
"SELECT for_translation FROM content_object WHERE id = " . 
$ilDB->quote($rec[
"lm_id"], 
"integer"));
   434                         $rec2 = 
$ilDB->fetchAssoc($set2);
   435                         if (!$rec2[
"for_translation"]) {
   436                             $rec[
"import_id"] = 
"il_" . 
IL_INST_ID . 
"_" . $rec[
"type"] . 
"_" . $rec[
"child"];
   439                         foreach ($rec as $k => $v) {
   444                         $obj_ids[] = $rec[
"Child"];
   445                         $this->data[] = $rec;
   449                     $set3 = 
$ilDB->query(
$q = 
"SELECT lm_id, type, title, short_title, active, layout, import_id, obj_id child FROM lm_data " .
   450                         "WHERE " . 
$ilDB->in(
"lm_id", $a_ids, 
false, 
"integer") .
   451                         " AND " . 
$ilDB->in(
"obj_id", $obj_ids, 
true, 
"integer") .
   452                         " AND type = " . 
$ilDB->quote(
"pg", 
"text"));
   453                     while ($rec3 = 
$ilDB->fetchAssoc($set3)) {
   454                         $set2 = 
$ilDB->query(
"SELECT for_translation FROM content_object WHERE id = " . 
$ilDB->quote($rec3[
"lm_id"], 
"integer"));
   455                         $rec2 = 
$ilDB->fetchAssoc($set2);
   456                         if (!$rec2[
"for_translation"]) {
   457                             $rec3[
"import_id"] = 
"il_" . 
IL_INST_ID . 
"_pg_" . $rec3[
"child"];
   459                         $rec3[
"type"] = 
"free_pg";
   463                         foreach ($rec3 as $k => $v) {
   467                         $this->data[] = $tmp;
   473         if ($a_entity == 
"lm_menu") {
   474             switch ($a_version) {
   481                             " WHERE " . 
$ilDB->in(
"lm_id", $a_ids, 
false, 
"integer"));
   486         if ($a_entity == 
"lm_data_transl") {
   487             switch ($a_version) {
   493                             " FROM lm_data_transl " .
   494                             " WHERE " . 
$ilDB->in(
"id", $a_ids, 
false, 
"integer"));
   503         ?array $a_rec = null,
   509                     "lm_tree" => array(
"ids" => $a_rec[
"Id"] ?? null),
   510                     "lm_menu" => array(
"ids" => $a_rec[
"Id"] ?? null)
   518                         "lm_data_transl" => array(
"ids" => $a_rec[
"Child"] ?? null)
   531         string $a_schema_version
   542                 if ($new_id = $a_mapping->
getMapping(
'components/ILIAS/Container', 
'objs', $a_rec[
'Id'])) {
   546                     $newObj->setType(
"lm");
   547                     $newObj->create(
true);
   548                     $newObj->createLMTree();
   551                 $newObj->setTitle($a_rec[
"Title"]);
   552                 $newObj->setDescription($a_rec[
"Description"]);
   553                 $newObj->setLayout($a_rec[
"DefaultLayout"]);
   554                 $newObj->setPageHeader($a_rec[
"PageHeader"]);
   556                 $newObj->setActiveLMMenu(
ilUtil::yn2tf($a_rec[
"LmMenuActive"]));
   557                 $newObj->setTOCMode($a_rec[
"TocMode"]);
   558                 $newObj->setActivePrintView(
ilUtil::yn2tf($a_rec[
"PrintViewActive"]));
   559                 $newObj->setActivePreventGlossaryAppendix(
ilUtil::yn2tf($a_rec[
"NoGloAppendix"]));
   560                 $newObj->setActiveNumbering(
ilUtil::yn2tf($a_rec[
"Numbering"]));
   561                 $newObj->setPublicNotes(
ilUtil::yn2tf($a_rec[
"PubNotes"] ?? 
"n"));
   563                 $newObj->setLayoutPerPage($a_rec[
"LayoutPerPage"]);
   564                 $newObj->setRating($a_rec[
"Rating"]);
   565                 $newObj->setHideHeaderFooterPrint($a_rec[
"HideHeadFootPrint"]);
   566                 $newObj->setDisableDefaultFeedback($a_rec[
"DisableDefFeedback"]);
   567                 $newObj->setRatingPages($a_rec[
"RatingPages"]);
   568                 $newObj->setForTranslation($a_rec[
"ForTranslation"] ?? 
false);
   569                 $newObj->setProgressIcons($a_rec[
"ProgrIcons"]);
   570                 $newObj->setStoreTries($a_rec[
"StoreTries"]);
   571                 $newObj->setRestrictForwardNavigation($a_rec[
"RestrictForwNav"]);
   572                 if ($a_rec[
"HeaderPage"] > 0) {
   573                     $a_mapping->
addMapping(
"components/ILIAS/LearningModule", 
"lm_header_page", $a_rec[
"HeaderPage"], 
"-");
   575                 if ($a_rec[
"FooterPage"] > 0) {
   576                     $a_mapping->
addMapping(
"components/ILIAS/LearningModule", 
"lm_footer_page", $a_rec[
"FooterPage"], 
"-");
   580                 $this->current_obj = $newObj;
   583                 $this->notes->domain()->activateComments($newObj->getId());
   584                 if ($a_rec[
"EstimatedReadingTime"] ?? 
false) {
   585                     $this->reading_time_manager->activate($newObj->getId(), 
true);
   588                 $a_mapping->
addMapping(
"components/ILIAS/LearningModule", 
"lm", $a_rec[
"Id"], $newObj->getId());
   589                 $a_mapping->
addMapping(
"components/ILIAS/LearningModule", 
"lm_style", $newObj->getId(), $a_rec[
"StyleId"]);
   590                 $a_mapping->
addMapping(
"components/ILIAS/ILIASObject", 
"obj", $a_rec[
"Id"], $newObj->getId());
   592                     "components/ILIAS/MetaData",
   594                     $a_rec[
"Id"] . 
":0:lm",
   595                     $newObj->getId() . 
":0:lm"   601                     switch ($a_rec[
"Type"]) {
   603                             $parent = (
int) $a_mapping->
getMapping(
"components/ILIAS/LearningModule", 
"lm_tree", $a_rec[
"Parent"]);
   605                             $st_obj->setType(
"st");
   606                             $st_obj->setLMId($this->current_obj->getId());
   607                             $st_obj->setTitle($a_rec[
"Title"]);
   608                             $st_obj->setShortTitle($a_rec[
"ShortTitle"]);
   609                             $st_obj->setImportId($a_rec[
"ImportId"]);
   610                             $st_obj->create(
true);
   613                                 "components/ILIAS/LearningModule",
   619                                 "components/ILIAS/MetaData",
   621                                 $a_rec[
"LmId"] . 
":" . $a_rec[
"Child"] . 
":st",
   622                                 $this->current_obj->getId() . 
":" . $st_obj->getId() . 
":st"   627                             $parent = (
int) $a_mapping->
getMapping(
"components/ILIAS/LearningModule", 
"lm_tree", $a_rec[
"Parent"]);
   629                             $pg_obj->setType(
"pg");
   630                             $pg_obj->setLMId($this->current_obj->getId());
   631                             $pg_obj->setTitle($a_rec[
"Title"]);
   632                             $pg_obj->setShortTitle($a_rec[
"ShortTitle"]);
   633                             $pg_obj->setImportId($a_rec[
"ImportId"]);
   634                             $pg_obj->create(
true, 
true);
   637                                 "components/ILIAS/LearningModule",
   642                             $a_mapping->
addMapping(
"components/ILIAS/LearningModule", 
"pg", $a_rec[
"Child"], $pg_obj->getId());
   643                             $this->lm_log->debug(
"add pg map (1), old : " . $a_rec[
"Child"] . 
", new: " . $pg_obj->getId());
   645                                 "components/ILIAS/COPage",
   647                                 "lm:" . $a_rec[
"Child"],
   648                                 "lm:" . $pg_obj->getId()
   651                                 "components/ILIAS/MetaData",
   653                                 $a_rec[
"LmId"] . 
":" . $a_rec[
"Child"] . 
":pg",
   654                                 $this->current_obj->getId() . 
":" . $pg_obj->getId() . 
":pg"   661                             $pg_obj->setType(
"pg");
   662                             $pg_obj->setLMId($this->current_obj->getId());
   663                             $pg_obj->setTitle($a_rec[
"Title"]);
   664                             $pg_obj->setShortTitle($a_rec[
"ShortTitle"]);
   665                             $pg_obj->setImportId($a_rec[
"ImportId"]);
   666                             $pg_obj->create(
true, 
true);
   668                                 "components/ILIAS/LearningModule",
   673                             $a_mapping->
addMapping(
"components/ILIAS/LearningModule", 
"pg", $a_rec[
"Child"], $pg_obj->getId());
   674                             $this->lm_log->debug(
"add pg map (2), old : " . $a_rec[
"Child"] . 
", new: " . $pg_obj->getId());
   676                                 "components/ILIAS/COPage",
   678                                 "lm:" . $a_rec[
"Child"],
   679                                 "lm:" . $pg_obj->getId()
   682                                 "components/ILIAS/MetaData",
   684                                 $a_rec[
"LmId"] . 
":" . $a_rec[
"Child"] . 
":pg",
   685                                 $this->current_obj->getId() . 
":" . $pg_obj->getId() . 
":pg"   690                     switch ($a_rec[
"Type"]) {
   693                             $imp_id = explode(
"_", $a_rec[
"ImportId"]);
   694                             if ($imp_id[0] == 
"il" &&
   701                                     $trans->setTitle($a_rec[
"Title"]);
   704                                         "components/ILIAS/LearningModule",
   716                             $imp_id = explode(
"_", $a_rec[
"ImportId"]);
   717                             if ($imp_id[0] == 
"il" &&
   724                                     $trans->setTitle($a_rec[
"Title"]);
   726                                     $a_mapping->
addMapping(
"components/ILIAS/LearningModule", 
"pg", $a_rec[
"Child"], $pg_id);
   727                                     $this->lm_log->debug(
"add pg map (3), old : " . $a_rec[
"Child"] . 
", new: " . $pg_id);
   729                                         "components/ILIAS/LearningModule",
   735                                         "components/ILIAS/COPage",
   737                                         "lm:" . $a_rec[
"Child"],
   748             case "lm_data_transl":
   751                     $lm_obj_id = $a_mapping->
getMapping(
"components/ILIAS/LearningModule", 
"lm_tree", $a_rec[
"Id"]);
   752                     if ($lm_obj_id > 0) {
   754                         $t->setTitle($a_rec[
"Title"]);
   755                         $t->setShortTitle($a_rec[
"ShortTitle"]);
   762                 $lm_id = (
int) $a_mapping->
getMapping(
"components/ILIAS/LearningModule", 
"lm", $a_rec[
"LmId"]);
   765                     $lm_menu_ed->setObjId($lm_id);
   766                     $lm_menu_ed->setTitle($a_rec[
"Title"]);
   767                     $lm_menu_ed->setTarget($a_rec[
"Target"]);
   768                     $lm_menu_ed->setLinkType($a_rec[
"LinkType"]);
   769                     $lm_menu_ed->setLinkRefId($a_rec[
"LinkRefId"]);
   770                     $lm_menu_ed->setActive($a_rec[
"Active"]);
   771                     $lm_menu_ed->create();
 
setMasterLanguageOnly(bool $a_val)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
convertToLeadingUpper(string $a_str)
Make xyz_abc a XyzAbc string. 
 
readData(string $a_entity, string $a_version, array $a_ids)
 
ILIAS Notes Service $notes
 
static getLogger(string $a_component_id)
Get component logger. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ilObjLearningModule $current_obj
 
ReadingTimeManager $reading_time_manager
 
addMapping(string $a_comp, string $a_entity, string $a_old_id, string $a_new_id)
 
setTranslationImportMode(ilObjLearningModule $a_lm, string $a_lang="")
 
static putInTree(ilLMObject $a_obj, int $a_parent_id=0, int $a_target_node_id=0)
put this object into content object tree 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getMapping(string $a_comp, string $a_entity, string $a_old_id)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ilObjLearningModule $transl_into_lm
 
getXmlNamespace(string $a_entity, string $a_schema_version)
 
getCurrentInstallationId()
 
getDirectDataFromQuery(string $a_query, bool $a_convert_to_leading_upper=true, bool $a_set=true)
Get data from query.This is a standard procedure, all db field names are directly mapped to abstract ...
 
getTypes(string $a_entity, string $a_version)
 
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id 
 
importRecord(string $a_entity, array $a_types, array $a_rec, ilImportMapping $a_mapping, string $a_schema_version)
 
getTranslationImportMode()
 
getDependencies(string $a_entity, string $a_version, ?array $a_rec=null, ?array $a_ids=null)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
LearningModule Data set class. 
 
__construct(Container $dic, ilPlugin $plugin)
 
static _lookupContObjID(int $a_id)
get learning module id for lm object 
 
static yn2tf(string $a_yn)
 
stripTags(array $rec, array $omit_keys=[])
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...