diff options
| author | Thomas Hackl <hackl@data-quest.de> | 2022-04-08 10:58:23 +0200 |
|---|---|---|
| committer | Thomas Hackl <hackl@data-quest.de> | 2022-05-16 14:38:25 +0200 |
| commit | ef7233279bd8e88898a073efb9d8d15f29c1957a (patch) | |
| tree | 4e8ce08bb857ca53bbef4c9f77fc18ba755b95a5 /lib/classes/AutoInsert.class.php | |
| parent | b02e4a31745ef59d2d08c28678a111c6af568ba6 (diff) | |
first steps to more functionality
Diffstat (limited to 'lib/classes/AutoInsert.class.php')
| -rw-r--r-- | lib/classes/AutoInsert.class.php | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/lib/classes/AutoInsert.class.php b/lib/classes/AutoInsert.class.php index 2ee009f..4c6069d 100644 --- a/lib/classes/AutoInsert.class.php +++ b/lib/classes/AutoInsert.class.php @@ -52,12 +52,13 @@ class AutoInsert private function loadSettings() { - $query = "SELECT a.seminar_id, GROUP_CONCAT(a.status,IF(LENGTH(a.domain_id)=0,':keine',CONCAT(':',a.domain_id))) AS domain_status, s.Name, s.Schreibzugriff, s.start_time "; + $query = "SELECT a.seminar_id, GROUP_CONCAT(a.status,IF(LENGTH(a.range_id)=0,':keine',CONCAT(':',a.domain_id))) AS range_status, a,range_type, s.Name, s.Schreibzugriff, s.start_time "; $query .= "FROM auto_insert_sem a "; $query .= "JOIN seminare AS s USING (Seminar_id) "; $query .= "GROUP BY s.seminar_id "; $query .= "ORDER BY s.Name"; $statement = DBManager::get()->query($query); + $results = $statement->fetchAll(PDO::FETCH_ASSOC); foreach ($results as $result) { if ($result['Schreibzugriff'] < 3) { @@ -277,19 +278,26 @@ class AutoInsert $statement = DBManager::get()->query($query); $results = $statement->fetchAll(PDO::FETCH_COLUMN); } else { - $query = "SELECT a.seminar_id, GROUP_CONCAT(a.status,IF(LENGTH(a.domain_id)=0,':keine',CONCAT(':',a.domain_id))) AS domain_status, s.Name, s.Schreibzugriff, s.start_time "; - $query .= "FROM auto_insert_sem a "; - $query .= "JOIN seminare AS s USING (Seminar_id) "; - - $query .= "GROUP BY s.seminar_id "; - $query .= "ORDER BY s.Name"; - $statement = DBManager::get()->query($query); - $results = $statement->fetchAll(PDO::FETCH_ASSOC); - foreach ($results as $index => $result) { - $domains = explode(',', $result['domain_status']); - foreach ($domains as $domain) { - $array = explode(':', $domain); - $results[$index]['status'][$array[1]][] = $array[0]; + $results = []; + foreach (words('degree domain institute semester subject') as $type) { + $query = "SELECT a.seminar_id, GROUP_CONCAT(a.status,IF(LENGTH(a.range_id)=0,':keine',CONCAT(':',a.range_id))) AS range_status, s.Name, s.Schreibzugriff, s.start_time "; + $query .= "FROM auto_insert_sem a "; + $query .= "JOIN seminare AS s USING (Seminar_id) WHERE a.`range_type` = :type "; + + $query .= "GROUP BY s.seminar_id "; + $query .= "ORDER BY s.Name"; + + $data = DBManager::get()->fetchAll($query, ['type' => $type]); + if (count($data) > 0) { + $results[$type] = []; + + foreach ($data as $index => $result) { + $entries = explode(',', $result['range_status']); + foreach ($entries as $entry) { + $array = explode(':', $entry); + $results[$type][$index]['status'][$array[1]][] = $array[0]; + } + } } } } @@ -304,7 +312,7 @@ class AutoInsert */ public static function getSeminar($seminar_id) { - $query = "SELECT a.seminar_id, GROUP_CONCAT(a.status) AS status, s.Name "; + $query = "SELECT a.seminar_id, GROUP_CONCAT(a.status) AS status,a.range_type, s.Name "; $query .= "FROM auto_insert_sem a "; $query .= "JOIN seminare AS s USING (Seminar_id) "; $query .= "WHERE a.seminar_id = ? "; |
