34 public static function init(): void
38 $db = $DIC->database();
40 if (self::$pc_def == null) {
41 $set = $db->query(
"SELECT * FROM copg_pc_def ORDER BY order_nr");
42 while ($rec = $db->fetchAssoc($set)) {
43 $rec[
"pc_class"] =
"ilPC" . $rec[
"name"];
44 $rec[
"pc_gui_class"] =
"ilPC" . $rec[
"name"] .
"GUI";
45 self::$pc_gui_classes[] = $rec[
"pc_gui_class"];
46 self::$pc_gui_classes_lc[] = strtolower($rec[
"pc_gui_class"]);
47 self::$pc_def[$rec[
"pc_type"]] = $rec;
48 self::$pc_def_by_name[$rec[
"name"]] = $rec;
49 self::$pc_def_by_gui_class_cl[strtolower($rec[
"pc_gui_class"])] = $rec;
66 return (self::$pc_def[$a_pc_type] ?? null);
76 return self::$pc_def_by_name[$a_pc_name];
83 string $a_gui_class_name
86 $a_gui_class_name = strtolower($a_gui_class_name);
87 return self::$pc_def_by_gui_class_cl[$a_gui_class_name];
92 bool $a_lower_case =
false 95 return in_array($a_class_name, self::$pc_gui_classes_lc);
97 return in_array($a_class_name, self::$pc_gui_classes);
107 $pc_def = self::getPCDefinitionByName($a_name);
108 $pc_class =
"ilPC" . $pc_def[
"name"] .
"EditorGUI";
109 if (class_exists($pc_class)) {
110 return new $pc_class();
COPage PC elements definition handler.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getPCDefinitions()
static getPCDefinitionByName(string $a_pc_name)
Get PC definition by name.
static array $pc_def_by_gui_class_cl
static array $pc_gui_classes_lc
static getPCDefinitionByType(string $a_pc_type)
Get PC definition by type.
static getPCEditorInstanceByName(string $a_name)
Get instance.
static array $pc_def_by_name
static getPCDefinitionByGUIClassName(string $a_gui_class_name)
Get PC definition by name.
static array $pc_gui_classes
static isPCGUIClassName(string $a_class_name, bool $a_lower_case=false)