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>';
    }
Example #2
0
    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;
    }