diff --git a/SprachkurseAdminPlugin.class.php b/SprachkurseAdminPlugin.class.php index db2f3d638b907df7b7d6e5391f4c4d15e3c90cb9..7a89f3b4d0966a5aa152cd058238cad46abb24d0 100644 --- a/SprachkurseAdminPlugin.class.php +++ b/SprachkurseAdminPlugin.class.php @@ -161,31 +161,29 @@ class SprachkurseAdminPlugin extends StudipPlugin implements AdministrationPlugi if (strlen($_POST['givenname'])) { - $search_parameters[] = "u.Vorname = ".$this->db->quote($_POST['givenname']); + $search_parameters[] = "Vorname = ".$this->db->quote($_POST['givenname']); } if (strlen($_POST['familyname'])) { - $search_parameters[] = "u.Nachname = ".$this->db->quote($_POST['familyname']); + $search_parameters[] = "Nachname = ".$this->db->quote($_POST['familyname']); } if (strlen($_POST['username'])) { - $search_parameters[] = "u.username = ".$this->db->quote($_POST['username']); + $search_parameters[] = "username = ".$this->db->quote($_POST['username']); } if (strlen($_POST['matrikel'])) { - $search_parameters[] = "d.content = ".$this->db->quote($_POST['matrikel']); + $search_parameters[] = "matriculation_number = ".$this->db->quote($_POST['matrikel']); } if (count($search_parameters)) { - $sql = "SELECT u.user_id, - u.username, - u.Vorname AS givenname, - u.Nachname AS familyname, - d.content AS matrikel, - u.locked - FROM auth_user_md5 AS u - LEFT JOIN datafields_entries AS d ON (d.range_id = u.user_id - AND d.datafield_id = '6da14fb9d1c48d163a1530b1e5ca6eb4') + $sql = "SELECT user_id, + username, + Vorname AS givenname, + Nachname AS familyname, + matriculation_number AS matrikel, + locked + FROM auth_user_md5 WHERE ".implode(" AND ", $search_parameters). ' ORDER BY familyname, givenname, username'; $result = $this->db->query($sql); @@ -694,10 +692,7 @@ class SprachkurseAdminPlugin extends StudipPlugin implements AdministrationPlugi $user_ids = array(); - // fuer diese query habe ich einen index in der DB angelegt... (datafield_id, contents) - - $db->query("SELECT range_id FROM datafields_entries - WHERE datafield_id='6da14fb9d1c48d163a1530b1e5ca6eb4' AND content = ".$this->db->quote($matrikel)); + $db->query("SELECT user_id FROM auth_user_md5 WHERE matriculation_number = ".$this->db->quote($matrikel)); if (!$db->next_record() || $matrikel == null @@ -717,7 +712,7 @@ class SprachkurseAdminPlugin extends StudipPlugin implements AdministrationPlugi } } } else { - $user_ids []= $db->f('range_id'); + $user_ids []= $db->f('user_id'); } if ($user_ids) { @@ -893,9 +888,8 @@ class SprachkurseAdminPlugin extends StudipPlugin implements AdministrationPlugi $users = array(); $users_waiting = array(); - $users_result = $this->db->query("SELECT de.content as matrikel, au.Vorname, au.Nachname, au.user_id + $users_result = $this->db->query("SELECT au.matriculation_number as matrikel, au.Vorname, au.Nachname, au.user_id FROM seminar_user as t - LEFT JOIN datafields_entries as de ON (t.user_id=de.range_id AND de.datafield_id = '6da14fb9d1c48d163a1530b1e5ca6eb4') INNER JOIN auth_user_md5 as au ON (t.user_id = au.user_id) WHERE t.Seminar_id = ".$this->db->quote($seminar_id)." AND t.status = 'autor' ORDER BY au.Nachname, au.Vorname"); @@ -910,9 +904,8 @@ class SprachkurseAdminPlugin extends StudipPlugin implements AdministrationPlugi } if (!$without_waiters) { - $users_awaiting_result = $this->db->query("SELECT de.content as matrikel, au.Vorname, au.Nachname, au.user_id + $users_awaiting_result = $this->db->query("SELECT au.matriculation_number as matrikel, au.Vorname, au.Nachname, au.user_id FROM admission_seminar_user as t - INNER JOIN datafields_entries as de ON (t.user_id=de.range_id AND de.datafield_id='6da14fb9d1c48d163a1530b1e5ca6eb4') INNER JOIN auth_user_md5 as au ON (t.user_id = au.user_id) WHERE t.seminar_id = ".$this->db->quote($seminar_id)." ORDER BY au.Nachname, au.Vorname"); diff --git a/SprachkurseCSVExport.class.php b/SprachkurseCSVExport.class.php index 51a8464e33bf7f01a1574a29d4bdf28579087351..def9b6c1b423f89007f295267e53564ccca730d3 100644 --- a/SprachkurseCSVExport.class.php +++ b/SprachkurseCSVExport.class.php @@ -50,7 +50,7 @@ class SprachkurseCSVExport { $stmt = DBManager::get()->query($query = "SELECT pca.bankname, pca.bankleitzahl, pca.kontonummer, pca.kontoinhaber, seminar_user.user_id, seminar_user.mkdate, seminar_user.status, seminar_user.comment, s.Seminar_id, s.status as sem_type, s.ects, s.start_time, sab.grade, - au.Vorname, au.Nachname, dfe.content as matrikel, ui.geschlecht, + au.Vorname, au.Nachname, au.matriculation_number as matrikel, ui.geschlecht, s.VeranstaltungsNummer, s.Name, s.ects FROM seminare as s LEFT JOIN seminar_user ON (seminar_user.status != 'dozent') @@ -58,7 +58,6 @@ class SprachkurseCSVExport { LEFT JOIN user_info as ui USING (user_id) LEFT JOIN payable_courses_account as pca ON (pca.user_id = au.user_id) LEFT JOIN sprachkurse_absolviert as sab ON (sab.user_id = au.user_id AND sab.seminar_id = s.Seminar_id) - LEFT JOIN datafields_entries as dfe ON (au.user_id = dfe.range_id AND dfe.datafield_id = '6da14fb9d1c48d163a1530b1e5ca6eb4') WHERE s.Seminar_id = seminar_user.Seminar_id AND s.Institut_id IN $i_id AND s.start_time = '". $current_semester->beginn ."'"); diff --git a/SprachkurseCertificateGenerator.class.php b/SprachkurseCertificateGenerator.class.php index ceadeb6b99b8c711dbdb76423b7dbf00aea83f0b..7a49f6b2a4ca994304ad3d48b1218c3e1f5fe4d2 100644 --- a/SprachkurseCertificateGenerator.class.php +++ b/SprachkurseCertificateGenerator.class.php @@ -102,7 +102,7 @@ class SprachkurseCertificateGenerator { $semester = $this->getSemester(); - $query = "SELECT de.content as matrikel, au.Vorname, au.Nachname, s.Name as Seminartitel, + $query = "SELECT au.matriculation_number as matrikel, au.Vorname, au.Nachname, s.Name as Seminartitel, s.ects as ectscredits, sp.user_id, sp.grade, au.username, pcc.study_language as language, sp.certificate FROM sprachkurse_absolviert as sp @@ -111,8 +111,6 @@ class SprachkurseCertificateGenerator { LEFT JOIN courseset_rule AS cr ON (sc.set_id = cr.set_id AND cr.type = 'PaycourseAdmission') LEFT JOIN paycourse_admission_config as pcc ON (pcc.rule_id = cr.rule_id) LEFT JOIN auth_user_md5 as au ON (sp.user_id = au.user_id) - LEFT JOIN datafields_entries as de - ON (sp.user_id = de.range_id AND de.datafield_id = '6da14fb9d1c48d163a1530b1e5ca6eb4') WHERE sp.user_id = ? AND s.Seminar_id = ?"; $stmt = DBManager::get()->prepare($query); diff --git a/plugin.manifest b/plugin.manifest index d312890deab69998560e1c65f26761005c9ad3c9..412b1841bb5198c35c50e3966ff4c10efb0fe9a7 100644 --- a/plugin.manifest +++ b/plugin.manifest @@ -3,8 +3,8 @@ pluginclassname=SprachkurseAdminPlugin pluginclassname=SprachkurseHomepagePlugin pluginname=Sprachenzentrum - Bezahlvorgang origin=virtUOS -version=1.12 -studipMinVersion = 5.0 +version=1.13 +studipMinVersion = 5.5 category = Bezahlkurse displayname = Bezahlkurse