diff --git a/lib/extern/elements/main/ExternElementMainTemplatePersons.class.php b/lib/extern/elements/main/ExternElementMainTemplatePersons.class.php index a82aa442996900c871aa8a0f07c8356efe947ecf..6d5bbf9f376e83d92eeb8bf8afb85475ca3b6b5e 100644 --- a/lib/extern/elements/main/ExternElementMainTemplatePersons.class.php +++ b/lib/extern/elements/main/ExternElementMainTemplatePersons.class.php @@ -47,7 +47,7 @@ class ExternElementMainTemplatePersons extends ExternElementMain { function __construct($module_name, &$data_fields, &$field_names, &$config) { $this->attributes = [ 'name', 'sort', 'groupsalias', 'groupsvisible', 'grouping', - 'nameformat', 'defaultadr', 'genericdatafields' + 'nameformat', 'language', 'defaultadr', 'genericdatafields' ]; $this->real_name = _("Grundeinstellungen"); $this->description = _("In den Grundeinstellungen können Sie allgemeine Daten des Moduls ändern."); @@ -70,6 +70,7 @@ class ExternElementMainTemplatePersons extends ExternElementMain { 'groupsalias' => '', 'groupsvisible' => $groups, 'nameformat' => '', + "language" => '', // 'nodatatext' => '', 'defaultadr' => '' ]; @@ -136,6 +137,12 @@ class ExternElementMainTemplatePersons extends ExternElementMain { _("Dr. Peter Meyer"), _("Meyer, Peter, Dr.")]; $table = $edit_form->editOptionGeneric("nameformat", $title, $info, $values, $names); + $title = _('Sprache') . ':'; + $info = _("Wählen Sie eine Sprache für die Datumsangaben aus."); + $values = ["", "de_DE", "en_GB"]; + $names = [_("keine Auswahl"), _("Deutsch"), _("Englisch")]; + $table .= $edit_form->editOptionGeneric("language", $title, $info, $values, $names); + $title = _('Standard-Adresse') . ':'; $info = _("Wenn Sie diese Option wählen, wird die Standard-Adresse ausgegeben, die jede(r) Mitarbeiter(in) bei seinen universitären Daten auswählen kann. Wählen Sie diese Option nicht, wenn immer die Adresse der Einrichtung ausgegeben werden soll."); $table .= $edit_form->editCheckboxGeneric('defaultadr', $title, $info, '1', '0'); diff --git a/lib/extern/modules/ExternModuleTemplatePersondetails.class.php b/lib/extern/modules/ExternModuleTemplatePersondetails.class.php index ebfa784156e41a197b2f7c2d53197d24ac64e761..8c35d998e1eb5403607bb39dcc4ff7778ddec784 100644 --- a/lib/extern/modules/ExternModuleTemplatePersondetails.class.php +++ b/lib/extern/modules/ExternModuleTemplatePersondetails.class.php @@ -459,6 +459,7 @@ class ExternModuleTemplatePersondetails extends ExternModule { } } + $member = InstituteMember::find($row['id']); $content['PERSONDETAILS']['INST-NAME'] = ExternModule::ExtHtmlReady($row['Name']); $content['PERSONDETAILS']['INST-HREF'] = ExternModule::ExtHtmlReady(trim($row['url'])); $content['PERSONDETAILS']['STREET'] = ExternModule::ExtHtmlReady($row['Strasse']); @@ -469,17 +470,18 @@ class ExternModuleTemplatePersondetails extends ExternModule { $content['PERSONDETAILS']['EMAIL-LOCAL'] = array_shift($emails); $emails = explode('@', $content['PERSONDETAILS']['EMAIL']); $content['PERSONDETAILS']['EMAIL-DOMAIN'] = array_pop($emails); - $content['PERSONDETAILS']['ROOM'] = ExternModule::ExtHtmlReady($row['raum']); - $content['PERSONDETAILS']['PHONE'] = ExternModule::ExtHtmlReady($row['Telefon']); - $content['PERSONDETAILS']['FAX'] = ExternModule::ExtHtmlReady($row['Fax']); + $content['PERSONDETAILS']['ROOM'] = ExternModule::ExtHtmlReady($member->raum); + $content['PERSONDETAILS']['PHONE'] = ExternModule::ExtHtmlReady($member->telefon); + $content['PERSONDETAILS']['FAX'] = ExternModule::ExtHtmlReady($member->fax); if (Visibility::verify('homepage', $this->user_id)) { $content['PERSONDETAILS']['HOMEPAGE-HREF'] = ExternModule::ExtHtmlReady(trim($row['Home'])); } - $content['PERSONDETAILS']['OFFICE-HOURS'] = ExternModule::ExtHtmlReady($row['sprechzeiten']); + $content['PERSONDETAILS']['OFFICE-HOURS'] = ExternModule::ExtHtmlReady($member->sprechzeiten); $j = 0; foreach($allRows as $curRow) { + $member = InstituteMember::find($curRow['id']); $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-NAME'] = ExternModule::ExtHtmlReady($curRow['Name']); $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-HREF'] = ExternModule::ExtHtmlReady(trim($curRow['url'])); $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-STREET'] = ExternModule::ExtHtmlReady($curRow['Strasse']); @@ -489,11 +491,11 @@ class ExternModuleTemplatePersondetails extends ExternModule { $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-EMAIL-LOCAL'] = array_shift($emails); $emails = explode('@', $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-EMAIL']); $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-EMAIL-DOMAIN'] = array_pop($emails); - $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-ROOM'] = ExternModule::ExtHtmlReady($curRow['raum']); - $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-PHONE'] = ExternModule::ExtHtmlReady($curRow['Telefon']); - $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-FAX'] = ExternModule::ExtHtmlReady($curRow['Fax']); + $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-ROOM'] = ExternModule::ExtHtmlReady($member->raum); + $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-PHONE'] = ExternModule::ExtHtmlReady($member->telefon); + $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-FAX'] = ExternModule::ExtHtmlReady($member->fax); $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-HOMEPAGE-HREF'] = ExternModule::ExtHtmlReady(trim($curRow['Home'])); - $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-OFFICE-HOURS'] = ExternModule::ExtHtmlReady($curRow['sprechzeiten']); + $content['PERSONDETAILS']['ALL-INST']['SINGLE-INST'][$j]['SINGLE-INST-OFFICE-HOURS'] = ExternModule::ExtHtmlReady($member->sprechzeiten); $j++; } diff --git a/lib/extern/modules/ExternModuleTemplatePersons.class.php b/lib/extern/modules/ExternModuleTemplatePersons.class.php index ce6290e519e510a28ae5255ac5345eba169e2ca8..51e0970a0f478e50602f65bac974aeea2ef78014 100644 --- a/lib/extern/modules/ExternModuleTemplatePersons.class.php +++ b/lib/extern/modules/ExternModuleTemplatePersons.class.php @@ -172,7 +172,7 @@ class ExternModuleTemplatePersons extends ExternModule { } if(!$grouping) { - $query = "SELECT DISTINCT ui.raum, ui.sprechzeiten, ui.Telefon, inst_perms, Email, aum.user_id, "; + $query = "SELECT DISTINCT ui.id, inst_perms, Email, aum.user_id, "; $query .= 'username, aum.Vorname, title_front, title_rear, Home, '; $query .= $GLOBALS['_fullname_sql'][$nameformat] . " AS fullname, aum.Nachname "; if ($query_order) { @@ -211,7 +211,7 @@ class ExternModuleTemplatePersons extends ExternModule { if (!$query_order) { $query_order = ' ORDER BY su.position'; } - $query = 'SELECT ui.raum, ui.sprechzeiten, ui.Telefon, inst_perms, Email, aum.user_id, '; + $query = 'SELECT ui.id, inst_perms, Email, aum.user_id, '; $query .= 'username, aum.Vorname, title_front, title_rear, Home, '; $query .= $GLOBALS['_fullname_sql'][$nameformat] . " AS fullname, aum.Nachname "; $query .= 'FROM statusgruppe_user su LEFT JOIN auth_user_md5 aum USING(user_id) '; @@ -244,7 +244,7 @@ class ExternModuleTemplatePersons extends ExternModule { $instituts_id = $this->config->range_id; if ($defaultaddress) { - $query = 'SELECT ui.raum, ui.sprechzeiten, ui.Telefon, inst_perms, Email, '; + $query = 'SELECT ui.id, inst_perms, Email, '; $query .= 'title_front, title_rear, Home, Institut_id, '; $query .= 'aum.user_id, username, ' . $GLOBALS['_fullname_sql'][$nameformat]; $query .= ' AS fullname, aum.Nachname, aum.Vorname FROM auth_user_md5 aum LEFT JOIN '; @@ -257,7 +257,7 @@ class ExternModuleTemplatePersons extends ExternModule { $db_out = $statement2->fetch(PDO::FETCH_ASSOC); //no default if ($db_out === false) { - $query = 'SELECT ui.raum, ui.sprechzeiten, ui.Telefon, inst_perms, Email, '; + $query = 'SELECT ui.id, inst_perms, Email, '; $query .= 'title_front, title_rear, Home, '; $query .= 'aum.user_id, username, ' . $GLOBALS['_fullname_sql'][$nameformat]; $query .= ' AS fullname, aum.Nachname, aum.Vorname FROM auth_user_md5 aum LEFT JOIN '; @@ -290,8 +290,9 @@ class ExternModuleTemplatePersons extends ExternModule { $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['IMAGE-URL-MEDIUM'] = $avatar->getURL(Avatar::MEDIUM); $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['IMAGE-URL-NORMAL'] = $avatar->getURL(Avatar::NORMAL); - $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['PHONE'] = ExternModule::ExtHtmlReady($db_out['Telefon']); - $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['ROOM'] = ExternModule::ExtHtmlReady($db_out['raum']); + $member = InstituteMember::find($db_out['id']); + $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['PHONE'] = ExternModule::ExtHtmlReady($member->telefon); + $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['ROOM'] = ExternModule::ExtHtmlReady($member->raum); $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['EMAIL'] = get_visible_email($row['user_id']); $emails = explode('@', $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['EMAIL']); $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['EMAIL-LOCAL'] = array_shift($emails); @@ -300,7 +301,7 @@ class ExternModuleTemplatePersons extends ExternModule { if ($row['Home'] && Visibility::verify('homepage', $row['user_id'])) { $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['HOMEPAGE-HREF'] = ExternModule::ExtHtmlReady(trim($row['Home'])); } - $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['OFFICEHOURS'] = ExternModule::ExtHtmlReady($db_out['sprechzeiten']); + $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['OFFICEHOURS'] = ExternModule::ExtHtmlReady($member->sprechzeiten); $content['PERSONS']['GROUP'][$i]['PERSON'][$j]['PERSON-NO'] = $j + 1; // generic data fields diff --git a/lib/extern/modules/views/persons.inc.php b/lib/extern/modules/views/persons.inc.php index d032b12273d3013a9c55c7c5e76412b3535f2dc4..5a2b9eb491a1ab0e707e08dd1ffae63c7810eb4c 100644 --- a/lib/extern/modules/views/persons.inc.php +++ b/lib/extern/modules/views/persons.inc.php @@ -104,7 +104,7 @@ if (!$grouping) { $range_ids = array_merge($range_ids, $children); } - $query = "SELECT DISTINCT ui.raum, ui.sprechzeiten, ui.Telefon, inst_perms, + $query = "SELECT DISTINCT ui.id, inst_perms, Email, aum.user_id, username, aum.Nachname, {$_fullname_sql[$nameformat]} AS fullname "; if ($query_order) { @@ -157,7 +157,7 @@ foreach ($visible_groups as $group_id => $group) { } $ext_vis_query = get_ext_vis_query(); - $query = "SELECT ui.raum, ui.sprechzeiten, ui.Telefon, inst_perms, + $query = "SELECT ui.id, inst_perms, Email, aum.user_id, username, aum.Nachname, {$_fullname_sql[$nameformat]} AS fullname FROM statusgruppe_user AS su @@ -201,7 +201,7 @@ foreach ($visible_groups as $group_id => $group) { foreach ($rows as $row) { if ($defaultadr) { $ext_vis_query = get_ext_vis_query(); - $query = "SELECT ui.raum, ui.sprechzeiten, ui.Telefon, + $query = "SELECT ui.id, inst_perms, Email, aum.user_id, username, {$_fullname_sql[$nameformat]} AS fullname, aum.Nachname @@ -218,7 +218,7 @@ foreach ($visible_groups as $group_id => $group) { $row = $temp; } else { // No default - $query = "SELECT ui.raum, ui.sprechzeiten, ui.Telefon, + $query = "SELECT ui.id, inst_perms, Email, aum.user_id, username, {$_fullname_sql[$nameformat]} AS fullname, aum.Nachname @@ -234,15 +234,16 @@ foreach ($visible_groups as $group_id => $group) { } $email = get_visible_email($row['user_id']); + $member = InstituteMember::find($row['id']); $data['content'] = [ 'Nachname' => $this->elements['LinkIntern']->toString([ 'content' => htmlReady($row['fullname']), 'module' => 'Persondetails', 'link_args' => 'username=' . $row['username'] ]), - 'Telefon' => htmlReady($row['Telefon']), - 'sprechzeiten' => htmlReady($row['sprechzeiten']), - 'raum' => htmlReady($row['raum']), + 'Telefon' => htmlReady($member->telefon), + 'sprechzeiten' => htmlReady($member->sprechzeiten), + 'raum' => htmlReady($member->raum), 'Email' => $this->elements['Link']->toString([ 'content' => htmlReady($email), 'link' => 'mailto:' . htmlReady($email)