27                         foreach ($a_ids as $id)
 
   30                                 $id = explode(
"/", $id);
 
   37                                         $id2 = explode(
"#", $id[2]);
 
   46                                         $ilDB->replace(
"help_map",
 
   47                                                 array(
"chap" => array(
"integer", $a_chap),
 
   48                                                         "component" => array(
"text", $id[0]),
 
   49                                                         "screen_id" => array(
"text", $id[1]),
 
   50                                                         "screen_sub_id" => array(
"text", $id2[0]),
 
   51                                                         "perm" => array(
"text", $id2[1]),
 
   52                                                         "module_id" => array(
"integer", 0)
 
   68                 $a_screen_sub_id, $a_perm, $a_module_id = 0)
 
   72                 $ilDB->replace(
"help_map",
 
   73                         array(
"chap" => array(
"integer", $a_chap),
 
   74                                 "component" => array(
"text", $a_comp),
 
   75                                 "screen_id" => array(
"text", $a_screen_id),
 
   76                                 "screen_sub_id" => array(
"text", $a_screen_sub_id),
 
   77                                 "perm" => array(
"text", $a_perm),
 
   78                                 "module_id" => array(
"integer", $a_module_id)
 
   95                 $ilDB->manipulate(
"DELETE FROM help_map WHERE ".
 
   96                         " chap = ".$ilDB->quote($a_chap, 
"integer").
 
   97                         " AND module_id = ".$ilDB->quote($a_module_id, 
"integer")
 
  111                 $set = $ilDB->query(
"SELECT * FROM help_map ".
 
  112                         " WHERE chap = ".$ilDB->quote($a_chap, 
"integer").
 
  113                         " AND module_id = ".$ilDB->quote($a_module_id, 
"integer").
 
  114                         " ORDER BY component, screen_id, screen_sub_id" 
  116                 $screen_ids = array();
 
  117                 while ($rec  = $ilDB->fetchAssoc($set))
 
  119                         if ($rec[
"screen_id"] == 
"-")
 
  121                                 $rec[
"screen_id"] = 
"";
 
  123                         if ($rec[
"screen_sub_id"] == 
"-")
 
  125                                 $rec[
"screen_sub_id"] = 
"";
 
  127                         $id = $rec[
"component"].
"/".$rec[
"screen_id"].
"/".$rec[
"screen_sub_id"];
 
  128                         if ($rec[
"perm"] != 
"" && $rec[
"perm"] != 
"-")
 
  130                                 $id.= 
"#".$rec[
"perm"];
 
  153                         $module = (int) $ilSetting->get(
"help_module");
 
  160                 $sc_id = explode(
"/", $a_screen_id);
 
  172                         $set = $ilDB->query(
"SELECT chap, perm FROM help_map JOIN lm_tree".
 
  173                                 " ON (help_map.chap = lm_tree.child) ".
 
  174                                 " WHERE (component = ".$ilDB->quote($sc_id[0], 
"text").
 
  175                                 " OR component = ".$ilDB->quote(
"*", 
"text").
")".
 
  176                                 " AND screen_id = ".$ilDB->quote($sc_id[1], 
"text").
 
  177                                 " AND screen_sub_id = ".$ilDB->quote($sc_id[2], 
"text").
 
  178                                 " AND module_id = ".$ilDB->quote($module, 
"integer").
 
  179                                 " ORDER BY lm_tree.lft" 
  181                         while ($rec = $ilDB->fetchAssoc($set))
 
  183                                 if ($rec[
"perm"] != 
"" && $rec[
"perm"] != 
"-")
 
  186                                         if ($rec[
"perm"] == 
"create*")
 
  188                                                 $has_create_perm = 
false;
 
  193                                                         $has_create_perm = 
true;
 
  195                                                 else if ($rbacreview->isAssigned($ilUser->getId(), SYSTEM_ROLE_ID)) 
 
  197                                                         $has_create_perm = 
true;
 
  199                                                 else if ($ilAccess->checkAccess(
"read", 
"", (
int) $a_ref_id))
 
  201                                                         $perm = $rbacreview->getUserPermissionsOnObject($ilUser->getId(), (int) $a_ref_id);
 
  202                                                         foreach ($perm as $p)
 
  204                                                                 if (substr($p, 0, 7) == 
"create_")
 
  206                                                                         $has_create_perm = 
true;
 
  210                                                 if ($has_create_perm)
 
  212                                                         $chaps[] = $rec[
"chap"];
 
  215                                         else if ($ilAccess->checkAccess($rec[
"perm"], 
"", (
int) $a_ref_id))
 
  217                                                 $chaps[] = $rec[
"chap"];
 
  222                                         $chaps[] = $rec[
"chap"];
 
  244                 if ($ilUser->getLanguage() != 
"de")
 
  249                 if ($ilSetting->get(
"help_mode") == 
"2")
 
  260                         $module = (int) $ilSetting->get(
"help_module");
 
  267                 $sc_id = explode(
"/", $a_screen_id);
 
  278                         $set = $ilDB->query(
"SELECT chap, perm FROM help_map ".
 
  279                                 " WHERE (component = ".$ilDB->quote($sc_id[0], 
"text").
 
  280                                 " OR component = ".$ilDB->quote(
"*", 
"text").
")".
 
  281                                 " AND screen_id = ".$ilDB->quote($sc_id[1], 
"text").
 
  282                                 " AND screen_sub_id = ".$ilDB->quote($sc_id[2], 
"text").
 
  283                                 " AND module_id = ".$ilDB->quote($module, 
"integer")
 
  285                         while ($rec = $ilDB->fetchAssoc($set))
 
  317                 $ilDB->manipulate(
"DELETE FROM help_map WHERE ".
 
  318                         " module_id = ".$ilDB->quote($a_id, 
"integer"));