function werMachtWas() { $abteilungen = array(); $sqlAbteilungen = 'SELECT DISTINCT id,title FROM sixcms_article WHERE area_id = 510'; $abfrageAbteilungen = he_tools_db::six_sql_query($sqlAbteilungen); while ($datenAbteilungen = he_tools_db::six_sql_fetch_assoc($abfrageAbteilungen)) { $abteilungen[$datenAbteilungen[id]] = $datenAbteilungen[title]; } $werMachtWas = array(); $sqlWerMachtWas = 'SELECT id,title FROM sixcms_article WHERE area_id = 511 AND published=1 ORDER BY title'; $abfrageWerMachtWas = he_tools_db::six_sql_query($sqlWerMachtWas); while ($datenWerMachtWas = he_tools_db::six_sql_fetch_assoc($abfrageWerMachtWas)) { $werMachtWas[$datenWerMachtWas[id]] = $datenWerMachtWas[title]; } foreach ($werMachtWas as $id => $title) { $werMachtWasDaten[$id][titel] = $title; $sqlWerMachtWas = 'SELECT fieldname,value FROM sixcms_article_data WHERE article_id = ' . $id; $abfrageWerMachtWas = he_tools_db::six_sql_query($sqlWerMachtWas); while ($datenWerMachtWas = he_tools_db::six_sql_fetch_assoc($abfrageWerMachtWas)) { if (!empty($datenWerMachtWas[value])) { $werMachtWasDaten[$id][$datenWerMachtWas[fieldname]] = $datenWerMachtWas[value]; } } $sqlWerMachtWasRelAbteilung = 'SELECT rel_id FROM sixcms_article_article WHERE fieldname="rel_abteilung" AND article_id = ' . $id; $abfrageWerMachtWasRelAbteilung = he_tools_db::six_sql_query($sqlWerMachtWasRelAbteilung); while ($datenWerMachtWasRelAbteilung = he_tools_db::six_sql_fetch_assoc($abfrageWerMachtWasRelAbteilung)) { $werMachtWasDaten[$id][abteilungen][] = $datenWerMachtWasRelAbteilung[rel_id]; } $sqlWerMachtWasRelPersonen = 'SELECT username FROM sixcms_article INNER JOIN sixcms_article_article ON sixcms_article.id=sixcms_article_article.rel_id WHERE sixcms_article_article.fieldname="rel_personen" AND sixcms_article_article.article_id = ' . $id; $abfrageWerMachtWasRelPersonen = he_tools_db::six_sql_query($sqlWerMachtWasRelPersonen); while ($datenWerMachtWasRelPersonen = he_tools_db::six_sql_fetch_assoc($abfrageWerMachtWasRelPersonen)) { $werMachtWasDaten[$id][personen][] = $datenWerMachtWasRelPersonen[username]; } } return '<pre>' . print_r($werMachtWasDaten, true) . '</pre>'; }
function exportSixModule($spoVersion = '') { /* $datei = fopen($importDatei, "r"); if (!$datei) { return "Bitte erst eine Datei auswählen"; } $zugeordneteSixIds = array(); while ( ($importDaten = fgetcsv ($datei, 10000, ";")) !== FALSE ) { if (count($importDaten)>1) { $zugeordneteSixIds[$importDaten[1]] = array('modulCode'=>$importDaten[0], 'pordNr'=>$importDaten[2]); } } fclose($datei); */ he_tools_db::sixCmsConnect(); // Studiengänge abfragen $bedingung = 'SELECT title,id FROM sixcms_article WHERE published=1 AND area_id=35 ORDER BY title'; $abfrage = he_tools_db::six_sql_query($bedingung); $studiengaenge = array(); while ($werte = he_tools_db::six_sql_fetch_assoc($abfrage)) { if (preg_match('#master#i', $werte['title']) || preg_match('#(msc)#i', $werte['title']) || preg_match('#(mba)#i', $werte['title'])) { $master = TRUE; } else { $master = FALSE; } $studiengaenge[$werte['id']] = array('name' => iconv("UTF-8", "ISO-8859-1", $werte['title']), 'master' => $master); } // Fakultäten abfragen $bedingung = 'SELECT title,id FROM sixcms_article WHERE published=1 AND area_id=29 ORDER BY title'; $abfrage = he_tools_db::six_sql_query($bedingung); $fbs = array(); while ($werte = he_tools_db::six_sql_fetch_assoc($abfrage)) { $fbs[$werte['id']] = iconv("UTF-8", "ISO-8859-1", $werte['title']); } // Schwerpunkte abfragen $bedingung = 'SELECT title,id FROM sixcms_article WHERE published=1 AND area_id=386 ORDER BY title'; $abfrage = he_tools_db::six_sql_query($bedingung); $schwerpunkte = array(); while ($werte = he_tools_db::six_sql_fetch_assoc($abfrage)) { $schwerpunkte[$werte['id']] = iconv("UTF-8", "ISO-8859-1", $werte['title']); } if (empty($spoVersion)) { $whereSpo = 'TRUE'; } else { $whereSpo = 'spo.value=' . $spoVersion; } // Modulnamen abfragen $bedingung = 'SELECT sixcms_article.title,sixcms_article.id,sixcms_article_data.value as modulnummer FROM sixcms_article INNER JOIN sixcms_article_data ON sixcms_article.id=sixcms_article_data.article_id INNER JOIN sixcms_article_data as spo ON sixcms_article.id=spo.article_id WHERE sixcms_article.published=1 AND sixcms_article.area_id=336 AND sixcms_article_data.fieldname="modulnummer" AND spo.fieldname="spo_version" AND ' . $whereSpo . ' '; $abfrage = he_tools_db::six_sql_query($bedingung); $modulNamen = array(); while ($werte = he_tools_db::six_sql_fetch_assoc($abfrage)) { $modulNamen[$werte['id']] = array('name' => iconv("UTF-8", "ISO-8859-1", $werte['title']), 'nr' => $werte['modulnummer']); } // Alle Module abfragen $bedingung = 'SELECT sixcms_article.id,sixcms_article_data.value as semester_nr FROM sixcms_article INNER JOIN sixcms_article_data ON sixcms_article.id=sixcms_article_data.article_id WHERE sixcms_article.published=1 AND sixcms_article.area_id=389 AND sixcms_article_data.fieldname="semester_nr" '; $abfrage = he_tools_db::six_sql_query($bedingung); $modulzuordnung = array(); $sixIds = array_keys($zugeordneteSixIds); while ($modulzuordnung = he_tools_db::six_sql_fetch_assoc($abfrage)) { $modulId = $modulzuordnung['id']; $semester_nr = $modulzuordnung['semester_nr']; $bedingungFb = 'SELECT rel_id FROM sixcms_article_article WHERE article_id=' . $modulId . ' AND fieldname="rel_fachbereich" '; $abfrageFb = he_tools_db::six_sql_query($bedingungFb); if ($werteFb = he_tools_db::six_sql_fetch_assoc($abfrageFb)) { $fb = $werteFb['rel_id']; } $bedingungMod = 'SELECT rel_id FROM sixcms_article_article WHERE article_id=' . $modulId . ' AND fieldname="rel_module" '; $abfrageMod = he_tools_db::six_sql_query($bedingungMod); while ($werteMod = he_tools_db::six_sql_fetch_assoc($abfrageMod)) { $modul = $werteMod['rel_id']; // if (in_array($modul,$sixIds)) { $bedingungSp = 'SELECT rel_id FROM sixcms_article_article WHERE article_id=' . $modulId . ' AND fieldname="rel_schwerpunkte" '; $abfrageSp = he_tools_db::six_sql_query($bedingungSp); if ($werteSp = he_tools_db::six_sql_fetch_assoc($abfrageSp)) { $schwerpunkt = $werteSp['rel_id']; $bedingungSg = 'SELECT rel_id FROM sixcms_article_article WHERE article_id=' . $modulId . ' AND fieldname="rel_studiengaenge" '; $abfrageSg = he_tools_db::six_sql_query($bedingungSg); while ($werteSg = he_tools_db::six_sql_fetch_assoc($abfrageSg)) { $studiengang = $werteSg['rel_id']; if (!isset($fakultaeten[$fb][$studiengang][$schwerpunkt][$semester_nr])) { $fakultaeten[$fb][$studiengang][$schwerpunkt][$semester_nr] = array(); } if (!in_array($modul, $fakultaeten[$fb][$studiengang][$schwerpunkt][$semester_nr])) { array_push($fakultaeten[$fb][$studiengang][$schwerpunkt][$semester_nr], $modul); } } } else { $bedingungSg = 'SELECT rel_id FROM sixcms_article_article WHERE article_id=' . $modulId . ' AND fieldname="rel_studiengaenge" '; $abfrageSg = he_tools_db::six_sql_query($bedingungSg); while ($werteSg = he_tools_db::six_sql_fetch_assoc($abfrageSg)) { $studiengang = $werteSg['rel_id']; if (!isset($fakultaeten[$fb][$studiengang]['kein_schwerpunkt'][$semester_nr])) { $fakultaeten[$fb][$studiengang]['kein_schwerpunkt'][$semester_nr] = array(); } if (!in_array($modul, $fakultaeten[$fb][$studiengang]['kein_schwerpunkt'][$semester_nr])) { array_push($fakultaeten[$fb][$studiengang]['kein_schwerpunkt'][$semester_nr], $modul); } } // } } } } $ergebnis = iconv("UTF-8", "ISO-8859-1", '"Fakultät";"Abschluß";"Studiengang";"Schwerpunkt";"Semester";"Modulbezeichung";"Modul-Code";"Modul-Pordnr";"Six-ID Modul";"Teilleistung";"Six-ID Teilleistung";"Pordnummer"' . "\n"); $fakultaetenAusschluss = array('Graduate School', 'Soziale Arbeit, Gesundheit und Pflege'); foreach ($fakultaeten as $fb => $studiengangListe) { if (!in_array($fbs[$fb], $fakultaetenAusschluss)) { foreach ($studiengangListe as $stdg => $schwerpunktListe) { if ($studiengaenge[$stdg]['master']) { $abschluss = 'Master'; } else { $abschluss = 'Bachelor'; } foreach ($schwerpunktListe as $swp => $semester) { foreach ($semester as $semester_nummer => $module) { if ($swp == 'kein_schwerpunkt') { $schwerpunkt = ''; } else { $schwerpunkt = $schwerpunkte[$swp]; } foreach ($module as $modul) { $bedingungTeilleistungen = 'SELECT sixcms_article.id as sixId,sixcms_article.title as titel2, sixcms_article_data.value as titel FROM sixcms_article INNER JOIN sixcms_article_article on sixcms_article.id = sixcms_article_article.rel_id INNER JOIN sixcms_article_data on sixcms_article_data.article_id = sixcms_article.id WHERE sixcms_article_article.article_id = ' . $modul . ' AND sixcms_article_article.fieldname = "rel_modulbeschreibungen_leistungsnachweis" AND sixcms_article_data.fieldname = "lv_titel" ORDER BY sixcms_article_article.rel_id '; $abfrageTeilleistungen = he_tools_db::six_sql_query($bedingungTeilleistungen); $modulListe = array_keys($modulNamen); while ($werteTeilleistungen = he_tools_db::six_sql_fetch_assoc($abfrageTeilleistungen)) { if (!empty($werteTeilleistungen['titel'])) { $titel = strip_tags(iconv("UTF-8", "ISO-8859-1", $werteTeilleistungen['titel'])); } else { $titel = strip_tags(iconv("UTF-8", "ISO-8859-1", $werteTeilleistungen['titel2'])); } if (!empty($titel) && in_array($modul, $modulListe)) { $ergebnis .= '"' . $fbs[$fb] . '";"' . $abschluss . '";"' . $studiengaenge[$stdg]['name'] . '";"' . $schwerpunkt . '";"' . $semester_nummer . '";"' . $modulNamen[$modul]['name'] . '";"' . $zugeordneteSixIds[$modul]['modulCode'] . '";"' . $zugeordneteSixIds[$modul]['pordNr'] . '";"' . $modul . '";"' . $titel . '";"' . $werteTeilleistungen['sixId'] . '"' . "\n"; } } } } } } } } $jahr = date('Y'); $monat = date('m'); $tag = date('d'); $dateiname = 'module_six' . '_' . $jahr . '_' . $monat . '_' . $tag . '.csv'; header("Content-type: application/text"); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Content-Disposition: attachment; filename="' . $dateiname . '"'); header('Pragma: no-cache'); print $ergebnis; exit; }
function gibModule($modulUebersichtId) { he_tools_db::sixCmsConnect(); $abfrageModule = 'SELECT rel_id FROM sixcms_article_article WHERE article_id=' . $modulUebersichtId . ' AND fieldname="rel_module" ORDER BY sort'; $resModule = he_tools_db::six_sql_query($abfrageModule); $module = array(); while ($rowModule = he_tools_db::six_sql_fetch_assoc($resModule)) { $module[] = $rowModule['rel_id']; } return $module; }