aboutsummaryrefslogtreecommitdiff
path: root/lib/extern
diff options
context:
space:
mode:
authorDennis Benz <dennis.benz@uni-osnabrueck.de>2023-09-08 13:42:11 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-09-08 13:42:11 +0000
commit3fb4bd085cdb39d115c0d065292655f9de48991e (patch)
treec17d3109153556a7ff0570df090077cffbb7d661 /lib/extern
parent0717412c7903154d934db61a425d06123068d712 (diff)
Fix course name localization in external sites, fixes #2697
Closes #2697 Merge request studip/studip!1911
Diffstat (limited to 'lib/extern')
-rw-r--r--lib/extern/modules/ExternModuleLecturedetails.class.php23
-rw-r--r--lib/extern/modules/ExternModuleTemplateLectures.class.php9
-rw-r--r--lib/extern/modules/ExternModuleTemplatePersondetails.class.php13
-rw-r--r--lib/extern/modules/ExternModuleTemplateSemBrowse.class.php16
-rw-r--r--lib/extern/modules/views/ExternSemBrowse.class.php5
-rw-r--r--lib/extern/modules/views/ExternSemBrowseTable.class.php11
-rw-r--r--lib/extern/modules/views/persondetails.inc.php4
7 files changed, 46 insertions, 35 deletions
diff --git a/lib/extern/modules/ExternModuleLecturedetails.class.php b/lib/extern/modules/ExternModuleLecturedetails.class.php
index 9dbe2a3..379d3fe 100644
--- a/lib/extern/modules/ExternModuleLecturedetails.class.php
+++ b/lib/extern/modules/ExternModuleLecturedetails.class.php
@@ -141,11 +141,12 @@ class ExternModuleLecturedetails extends ExternModule {
$visible = $this->config->getValue("Main", "visible");
$j = -1;
if ($row !== false) {
+ $sem_object = Seminar::getInstance($this->seminar_id);
- $data["name"] = htmlReady($row['Name']);
+ $data["name"] = htmlReady($sem_object->name);
if ($visible[++$j] && $row['Untertitel'])
- $data["subtitle"] = htmlReady($row['Untertitel']);
+ $data["subtitle"] = htmlReady($sem_object->untertitel);
if ($visible[++$j]) {
if (!$name_sql = $this->config->getValue("Main", "nameformat"))
@@ -170,7 +171,7 @@ class ExternModuleLecturedetails extends ExternModule {
}
if ($visible[++$j] && $row['art'])
- $data["art"] = htmlReady($row['art']);
+ $data["art"] = htmlReady($sem_object->art);
if ($visible[++$j]) {
// reorganize the $SEM_TYPE-array
@@ -193,20 +194,20 @@ class ExternModuleLecturedetails extends ExternModule {
}
if ($visible[++$j] && $row['Beschreibung'])
- $data["description"] = formatLinks($row['Beschreibung']);
+ $data["description"] = formatLinks($sem_object->beschreibung);
if ($visible[++$j])
- $data["location"] = htmlReady(Seminar::getInstance($this->seminar_id)->getDatesTemplate('dates/seminar_export_location'));
+ $data["location"] = htmlReady($sem_object->getDatesTemplate('dates/seminar_export_location'));
if ($visible[++$j])
$data["semester"] = get_semester($this->seminar_id);
if ($visible[++$j]) {
- $data["time"] = htmlReady(Seminar::getInstance($this->seminar_id)->getDatesExport());
+ $data["time"] = htmlReady($sem_object->getDatesExport());
if ($first_app = vorbesprechung($this->seminar_id, 'export')) {
$data["time"] .= "<br>" . $this->config->getValue("Main", "aliaspredisc") . htmlReady($first_app);
}
- if ($begin = Seminar::getInstance($this->seminar_id)->getFirstDate('export')) {
+ if ($begin = $sem_object->getFirstDate('export')) {
$data["time"] .= "<br>" . $this->config->getValue("Main", "aliasfirstmeeting") . htmlReady($begin);
}
}
@@ -215,16 +216,16 @@ class ExternModuleLecturedetails extends ExternModule {
$data["number"] = htmlReady($row['VeranstaltungsNummer']);
if ($visible[++$j] && $row['teilnehmer'])
- $data["teilnehmer"] = htmlReady($row['teilnehmer']);
+ $data["teilnehmer"] = htmlReady($sem_object->teilnehmer);
if ($visible[++$j] && $row['vorrausetzungen'])
- $data["requirements"] = htmlReady($row['vorrausetzungen']);
+ $data["requirements"] = htmlReady($sem_object->vorrausetzungen);
if ($visible[++$j] && $row['lernorga'])
- $data["lernorga"] = htmlReady($row['lernorga']);
+ $data["lernorga"] = htmlReady($sem_object->lernorga);
if ($visible[++$j] && $row['leistungsnachweis'])
- $data["leistung"] = htmlReady($row['leistungsnachweis']);
+ $data["leistung"] = htmlReady($sem_object->leistungsnachweis);
if ($visible[++$j]) {
$range_path_level = $this->config->getValue("Main", "rangepathlevel");
diff --git a/lib/extern/modules/ExternModuleTemplateLectures.class.php b/lib/extern/modules/ExternModuleTemplateLectures.class.php
index f7b2b1d..dc7ed29 100644
--- a/lib/extern/modules/ExternModuleTemplateLectures.class.php
+++ b/lib/extern/modules/ExternModuleTemplateLectures.class.php
@@ -447,7 +447,8 @@ class ExternSemBrowseTemplate extends SemBrowse {
if (is_array($sem_ids['Seminar_id'])) {
$j = 0;
foreach(array_keys($sem_ids['Seminar_id']) as $seminar_id) {
- $content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['TITLE'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['Name']));
+ $sem_object = Seminar::GetInstance($seminar_id);
+ $content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['TITLE'] = ExternModule::ExtHtmlReady($sem_object->name);
$sem_number_start = key($sem_data[$seminar_id]['sem_number']);
$sem_number_end = key($sem_data[$seminar_id]['sem_number_end']);
@@ -459,7 +460,7 @@ class ExternSemBrowseTemplate extends SemBrowse {
$content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['SEMESTER'] = $sem_semester;
// create turnus field
- $sem_turnus = Seminar::getInstance($seminar_id)->getDatesExport(['show_room' => true]);
+ $sem_turnus = $sem_object->getDatesExport(['show_room' => true]);
$content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['CYCLE'] = ExternModule::ExtHtmlReady($sem_turnus);
@@ -491,13 +492,13 @@ class ExternSemBrowseTemplate extends SemBrowse {
$content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['LECTUREDETAILS-HREF'] = $this->module->elements['LinkInternLecturedetails']->createUrl(['link_args' => 'seminar_id=' . $seminar_id]);
$content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['NUMBER'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['VeranstaltungsNummer']));
- $content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['SUBTITLE'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['Untertitel']));
+ $content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['SUBTITLE'] = ExternModule::ExtHtmlReady($sem_object->untertitel);
$aliases_sem_type = $this->module->config->getValue('ReplaceTextSemType', 'class_' . $SEM_TYPE[key($sem_data[$seminar_id]['status'])]['class']);
$content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['SEMTYPE-SUBSTITUTE'] = $aliases_sem_type[$this->sem_types_position[key($sem_data[$seminar_id]['status'])] - 1];
$content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['SEMTYPE'] = ExternModule::ExtHtmlReady($SEM_TYPE[key($sem_data[$seminar_id]['status'])]['name']
.' ('. $SEM_CLASS[$SEM_TYPE[key($sem_data[$seminar_id]['status'])]['class']]['name'] . ')');
$content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['ROOM'] = ExternModule::ExtHtmlReady(Seminar::getInstance($seminar_id)->getDatesTemplate('dates/seminar_export_location'));
- $content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['FORM'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['art']));
+ $content['LECTURES']['GROUP'][$i]['LECTURE'][$j]['FORM'] = ExternModule::ExtHtmlReady($sem_object->art);
// generic data fields
if (is_array($generic_datafields)) {
diff --git a/lib/extern/modules/ExternModuleTemplatePersondetails.class.php b/lib/extern/modules/ExternModuleTemplatePersondetails.class.php
index a3dbd79..6813e47 100644
--- a/lib/extern/modules/ExternModuleTemplatePersondetails.class.php
+++ b/lib/extern/modules/ExternModuleTemplatePersondetails.class.php
@@ -543,14 +543,15 @@ class ExternModuleTemplatePersondetails extends ExternModule {
}
}
+ $user_obj = User::find($this->user_id);
if (Visibility::verify('lebenslauf', $this->user_id)) {
- $content['PERSONDETAILS']['CV'] = ExternModule::ExtFormatReady($row['lebenslauf']);
+ $content['PERSONDETAILS']['CV'] = ExternModule::ExtFormatReady($user_obj->lebenslauf);
}
if (Visibility::verify('schwerp', $this->user_id)) {
- $content['PERSONDETAILS']['RESEARCH-INTERESTS'] = ExternModule::ExtFormatReady($row['schwerp']);
+ $content['PERSONDETAILS']['RESEARCH-INTERESTS'] = ExternModule::ExtFormatReady($user_obj->schwerp);
}
if (Visibility::verify('publi', $this->user_id)) {
- $content['PERSONDETAILS']['PUBLICATIONS'] = ExternModule::ExtFormatReady($row['publi']);
+ $content['PERSONDETAILS']['PUBLICATIONS'] = ExternModule::ExtFormatReady($user_obj->publi);
}
$content['PERSONDETAILS']['LECTURES'] = $this->elements['TemplateLectures']->toString(['content' => $this->getContentLectures(), 'subpart' => 'LECTURES']);
@@ -733,10 +734,12 @@ class ExternModuleTemplatePersondetails extends ExternModule {
}
$k = 0;
foreach ($result as $row) {
- $content['LECTURES']['SEMESTER'][$i]['LECTURE'][$k]['TITLE'] = ExternModule::ExtHtmlReady($row['Name']);
+ $sem_object = Seminar::GetInstance($row['Seminar_id']);
+
+ $content['LECTURES']['SEMESTER'][$i]['LECTURE'][$k]['TITLE'] = ExternModule::ExtHtmlReady($sem_object->name);
$content['LECTURES']['SEMESTER'][$i]['LECTURE'][$k]['LECTUREDETAILS-HREF'] = $this->elements['LinkInternLecturedetails']->createUrl(['link_args' => 'seminar_id=' . $row['Seminar_id']]);
if (trim($row['Untertitel']) != '') {
- $content['LECTURES']['SEMESTER'][$i]['LECTURE'][$k]['SUBTITLE'] = ExternModule::ExtHtmlReady($row['Untertitel']);
+ $content['LECTURES']['SEMESTER'][$i]['LECTURE'][$k]['SUBTITLE'] = ExternModule::ExtHtmlReady($sem_object->untertitel);
}
if (trim($row['VeranstaltungsNummer']) != '') {
$content['LECTURES']['SEMESTER'][$i]['LECTURE'][$k]['NUMBER'] = ExternModule::ExtHtmlReady($row['VeranstaltungsNummer']);
diff --git a/lib/extern/modules/ExternModuleTemplateSemBrowse.class.php b/lib/extern/modules/ExternModuleTemplateSemBrowse.class.php
index 3ddfd3e..18a77c0 100644
--- a/lib/extern/modules/ExternModuleTemplateSemBrowse.class.php
+++ b/lib/extern/modules/ExternModuleTemplateSemBrowse.class.php
@@ -786,13 +786,15 @@ class ExternModuleTemplateSemBrowse extends ExternModule {
$k = 0;
$semester = Semester::findAllVisible();
foreach (array_keys($sem_ids['Seminar_id']) as $seminar_id) {
+ $sem_object = Seminar::GetInstance($seminar_id);
+
$content['RESULT']['GROUP'][$j]['COURSE'][$k]['COURSE_ID'] = $seminar_id;
- $content['RESULT']['GROUP'][$j]['COURSE'][$k]['TITLE'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['Name']));
+ $content['RESULT']['GROUP'][$j]['COURSE'][$k]['TITLE'] = ExternModule::ExtHtmlReady($sem_object->name);
$content['RESULT']['GROUP'][$j]['COURSE'][$k]['COURSE-NO'] = $k + 1;
$content['RESULT']['GROUP'][$j]['COURSE'][$k]['COURSEDETAILS-HREF'] = $this->elements['LinkInternLecturedetails']->createUrl(['link_args' => 'seminar_id=' . $seminar_id]);
$content['RESULT']['GROUP'][$j]['COURSE'][$k]['COURSE_NUMBER'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['VeranstaltungsNummer']));
- $content['RESULT']['GROUP'][$j]['COURSE'][$k]['DESCRIPTION'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['Beschreibung']), true);
+ $content['RESULT']['GROUP'][$j]['COURSE'][$k]['DESCRIPTION'] = ExternModule::ExtHtmlReady($sem_object->beschreibung, true);
$sem_number_start = key($sem_data[$seminar_id]["sem_number"]);
$sem_number_end = key($sem_data[$seminar_id]["sem_number_end"]);
@@ -809,13 +811,13 @@ class ExternModuleTemplateSemBrowse extends ExternModule {
$content['RESULT']['GROUP'][$j]['COURSE'][$k]['NO_DATES_TEXT'] = [];
}
- $content['RESULT']['GROUP'][$j]['COURSE'][$k]['SUBTITLE'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['Untertitel']));
+ $content['RESULT']['GROUP'][$j]['COURSE'][$k]['SUBTITLE'] = ExternModule::ExtHtmlReady($sem_object->untertitel);
$aliases_sem_type = $this->config->getValue('ReplaceTextSemType', 'class_' . $SEM_TYPE[key($sem_data[$seminar_id]['status'])]['class']);
$content['RESULT']['GROUP'][$j]['COURSE'][$k]['SEMTYPE-SUBSTITUTE'] = $aliases_sem_type[$this->sem_types_position[key($sem_data[$seminar_id]['status'])] - 1];
$content['RESULT']['GROUP'][$j]['COURSE'][$k]['SEMTYPE'] = ExternModule::ExtHtmlReady($SEM_TYPE[key($sem_data[$seminar_id]['status'])]['name']
.' ('. $SEM_CLASS[$SEM_TYPE[key($sem_data[$seminar_id]['status'])]['class']]['name'] . ')');
- $content['RESULT']['GROUP'][$j]['COURSE'][$k]['LOCATION'] = ExternModule::ExtHtmlReady(trim(key($sem_data[$seminar_id]['Ort'])));
- $content['RESULT']['GROUP'][$j]['COURSE'][$k]['FORM'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['art']));
+ $content['RESULT']['GROUP'][$j]['COURSE'][$k]['LOCATION'] = ExternModule::ExtHtmlReady(trim($sem_object->ort));
+ $content['RESULT']['GROUP'][$j]['COURSE'][$k]['FORM'] = ExternModule::ExtHtmlReady($sem_object->art);
$content['RESULT']['GROUP'][$j]['COURSE'][$k]['ECTS'] = ExternModule::ExtHtmlReady(key($sem_data[$seminar_id]['ects']));
// generic data fields
@@ -1384,7 +1386,8 @@ class ExternModuleTemplateSemBrowse extends ExternModule {
if (is_array($sem_ids['Seminar_id'])) {
$semester = Semester::findAllVisible();
foreach (array_keys($sem_ids['Seminar_id']) as $seminar_id) {
- $sem_name = key($sem_data[$seminar_id]["Name"]);
+ $seminar_obj = new Seminar($seminar_id);
+ $sem_name = $seminar_obj->name;
$seminar_number = key($sem_data[$seminar_id]['VeranstaltungsNummer']);
$sem_number_start = key($sem_data[$seminar_id]["sem_number"]);
$sem_number_end = key($sem_data[$seminar_id]["sem_number_end"]);
@@ -1395,7 +1398,6 @@ class ExternModuleTemplateSemBrowse extends ExternModule {
$sem_name .= ' (' . $semester[$sem_number_start]['name'] . ")";
}
//create Turnus field
- $seminar_obj = new Seminar($seminar_id);
// is this sem a studygroup?
$studygroup_mode = SeminarCategories::GetByTypeId($seminar_obj->getStatus())->studygroup_mode;
if ($studygroup_mode) {
diff --git a/lib/extern/modules/views/ExternSemBrowse.class.php b/lib/extern/modules/views/ExternSemBrowse.class.php
index 4ba487e..a5e86db 100644
--- a/lib/extern/modules/views/ExternSemBrowse.class.php
+++ b/lib/extern/modules/views/ExternSemBrowse.class.php
@@ -448,7 +448,8 @@ class ExternSemBrowse extends SemBrowse {
if (!key($sem_data[$seminar_id]['parent_course']) || !$sem_data[key($sem_data[$seminar_id]['parent_course'])] || $child) {
extract($table_data);
- $sem_name = key($sem_data[$seminar_id]["Name"]);
+ $sem_object = Seminar::GetInstance($seminar_id);
+ $sem_name = $sem_object->name;
$sem_number_start = key($sem_data[$seminar_id]["sem_number"]);
$sem_number_end = key($sem_data[$seminar_id]["sem_number_end"]);
if ($sem_number_start != $sem_number_end) {
@@ -484,7 +485,7 @@ class ExternSemBrowse extends SemBrowse {
}
echo "</td></tr>\n";
//create Turnus field
- $temp_turnus_string = Seminar::GetInstance($seminar_id)->getDatesExport(['show_room' => true]);
+ $temp_turnus_string = $sem_object->getDatesExport(['show_room' => true]);
//Shorten, if string too long (add link for details.php)
if (mb_strlen($temp_turnus_string) > 70) {
$temp_turnus_string = mb_substr($temp_turnus_string, 0,
diff --git a/lib/extern/modules/views/ExternSemBrowseTable.class.php b/lib/extern/modules/views/ExternSemBrowseTable.class.php
index d9c6d11..29f8b2f 100644
--- a/lib/extern/modules/views/ExternSemBrowseTable.class.php
+++ b/lib/extern/modules/views/ExternSemBrowseTable.class.php
@@ -342,7 +342,8 @@ class ExternSemBrowseTable extends SemBrowse {
if (is_array($sem_ids['Seminar_id'])) {
foreach (array_keys($sem_ids['Seminar_id']) as $seminar_id) {
- $sem_name = key($sem_data[$seminar_id]["Name"]);
+ $sem_object = Seminar::GetInstance($seminar_id);
+ $sem_name = $sem_object->name;
$sem_number_start = key($sem_data[$seminar_id]["sem_number"]);
$sem_number_end = key($sem_data[$seminar_id]["sem_number_end"]);
if ($sem_number_start != $sem_number_end){
@@ -351,7 +352,7 @@ class ExternSemBrowseTable extends SemBrowse {
}
//create Turnus field
- $data["content"]["zeiten"] = Seminar::GetInstance($seminar_id)->getDatesExport(['show_room' => true]);
+ $data["content"]["zeiten"] = $sem_object->getDatesExport(['show_room' => true]);
//Shorten, if string too long
if (mb_strlen($data["content"]["zeiten"]) >70) {
$data["content"]["zeiten"] = mb_substr($data["content"]["zeiten"], 0,
@@ -390,7 +391,7 @@ class ExternSemBrowseTable extends SemBrowse {
"content" => htmlReady($sem_name)]);
$data["content"]["VeranstaltungsNummer"] =
htmlReady(key($sem_data[$seminar_id]["VeranstaltungsNummer"]));
- $data["content"]["Untertitel"] = htmlReady(key($sem_data[$seminar_id]["Untertitel"]));
+ $data["content"]["Untertitel"] = htmlReady($sem_object->untertitel);
$aliases_sem_type = $this->module->config->getValue("ReplaceTextSemType",
"class_" . $SEM_TYPE[key($sem_data[$seminar_id]["status"])]['class']);
@@ -404,9 +405,9 @@ class ExternSemBrowseTable extends SemBrowse {
." (". $SEM_CLASS[$SEM_TYPE[key($sem_data[$seminar_id]["status"])]["class"]]["name"].")");
}
- $data["content"]["Ort"] = Seminar::getInstance($seminar_id)->getDatesTemplate('dates/seminar_export_location');
+ $data["content"]["Ort"] = $sem_object->getDatesTemplate('dates/seminar_export_location');
if ($sem_data[$seminar_id]["art"])
- $data["content"]["art"] = htmlReady(key($sem_data[$seminar_id]["art"]));
+ $data["content"]["art"] = htmlReady($sem_object->art);
else
$data["content"]["art"] = "";
diff --git a/lib/extern/modules/views/persondetails.inc.php b/lib/extern/modules/views/persondetails.inc.php
index 0889e1b..cc18617 100644
--- a/lib/extern/modules/views/persondetails.inc.php
+++ b/lib/extern/modules/views/persondetails.inc.php
@@ -140,6 +140,8 @@ if ($generic_datafields = $this->config->getValue("Main", "genericdatafields"))
// $datafields = $datafields_obj->getLocalFields($row['user_id']);
}
+$user_obj = User::find($row['user_id']);
+
$order = $this->config->getValue("Main", "order");
foreach ($order as $position) {
@@ -160,7 +162,7 @@ foreach ($order as $position) {
echo "<tr" . $this->config->getAttributes("TableParagraphText", "tr") . ">";
echo "<td" . $this->config->getAttributes("TableParagraphText", "td") . ">";
echo "$text_div<font" . $this->config->getAttributes("TableParagraphText", "font") . ">\n";
- echo formatReady($row[$data_field], TRUE, TRUE);
+ echo formatReady($user_obj->$data_field, TRUE, TRUE);
echo "</font>$text_div_end</td></tr>\n</table>\n</td></tr>\n";
}
break;