aboutsummaryrefslogtreecommitdiff
path: root/lib/classes
diff options
context:
space:
mode:
authorThomas Hackl <hackl@data-quest.de>2022-04-08 10:58:23 +0200
committerThomas Hackl <hackl@data-quest.de>2022-05-16 14:38:25 +0200
commitef7233279bd8e88898a073efb9d8d15f29c1957a (patch)
tree4e8ce08bb857ca53bbef4c9f77fc18ba755b95a5 /lib/classes
parentb02e4a31745ef59d2d08c28678a111c6af568ba6 (diff)
first steps to more functionality
Diffstat (limited to 'lib/classes')
-rw-r--r--lib/classes/AutoInsert.class.php38
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 = ? ";