diff --git a/rdf/AntragWiederholung.xml.php b/rdf/AntragWiederholung.xml.php index c3ef6a183..e972a46a2 100644 --- a/rdf/AntragWiederholung.xml.php +++ b/rdf/AntragWiederholung.xml.php @@ -5,6 +5,42 @@ require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/basis_db.class.php'); +// Get CodeIgniter Config +// Get Environment Var +if (defined('CI_ENVIRONMENT')) $_SERVER['CI_ENV'] = CI_ENVIRONMENT; +define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development'); + +// Get BASEPATH Var +$system_path = dirname(__FILE__).'/../vendor/codeigniter/framework/system'; +if (($_temp = realpath($system_path)) !== FALSE) + $system_path = $_temp.'/'; +else + $system_path = rtrim($system_path, '/').'/'; +define('BASEPATH', str_replace('\\', '/', $system_path)); + +// Get APPPATH Var +$application_folder = dirname(__FILE__).'/../application'; +if (is_dir($application_folder)) { + if (($_temp = realpath($application_folder)) !== FALSE) + $application_folder = $_temp; + define('APPPATH', $application_folder.DIRECTORY_SEPARATOR); +} else { + if (!is_dir(BASEPATH.$application_folder.DIRECTORY_SEPARATOR)) { + header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); + echo 'Your application folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF; + exit(3); // EXIT_CONFIG + } + define('APPPATH', BASEPATH.$application_folder.DIRECTORY_SEPARATOR); +} + +// Load studierendenantrag Config +foreach (['studierendenantrag', ENVIRONMENT.DIRECTORY_SEPARATOR.'studierendenantrag'] as $location) { + $file_path = APPPATH . 'config/' . $location . '.php'; + if (file_exists($file_path)) + include($file_path); +} +// Get CodeIgniter Config end + $db = new basis_db(); if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") @@ -34,9 +70,25 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") else die('Format not supported'); +$blacklist = ''; +if ($config['note_blacklist_wiederholung']) { + $blacklist = " AND n.note NOT IN (" . $db->db_implode4SQL($config['note_blacklist_wiederholung']) . ")"; +} + $query = " - SELECT stg.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, pss.ausbildungssemester AS semester, (SELECT pt.text FROM system.tbl_phrase p JOIN system.tbl_phrasentext pt USING(phrase_id) WHERE p.category=" . $db->db_add_param('studierendenantrag', FHC_STRING) . " AND p.phrase=" . $db->db_add_param('grund_Wiederholung_deadline', FHC_STRING) . " AND pt.sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . " LIMIT 1) AS grund + SELECT stg.bezeichnung, tbl_orgform.bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, pss.ausbildungssemester AS semester, ( + SELECT pr.datum + FROM lehre.tbl_pruefung pr + JOIN lehre.tbl_note n USING (note) + WHERE pr.student_uid = tbl_student.student_uid + AND pr.datum <= a.datum + AND pr.pruefungstyp_kurzbz IN ('kommPruef', 'zusKommPruef') + AND n.positiv=FALSE + " . $blacklist . " + ORDER BY datum DESC + LIMIT 1 + ) AS abmeldedatum, (SELECT pt.text FROM system.tbl_phrase p JOIN system.tbl_phrasentext pt USING(phrase_id) WHERE p.category=" . $db->db_add_param('studierendenantrag', FHC_STRING) . " AND p.phrase=" . $db->db_add_param('grund_Wiederholung_deadline', FHC_STRING) . " AND pt.sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . " LIMIT 1) AS grund FROM campus.tbl_studierendenantrag a JOIN public.tbl_student USING (prestudent_id) @@ -56,15 +108,20 @@ if (!$db->db_query($query) || !$db->db_num_rows()) db_fetch_object()) { ?> - - vorname . ' ' . $row->nachname); ?>]]> - bezeichnung; ?>]]> - bezeichnung_mehrsprachig; ?>]]> - matrikelnr; ?>]]> - studienjahr_kurzbz; ?>]]> - studiensemester_kurzbz; ?>]]> - semester; ?>]]> - grund; ?>]]> + abmeldedatum); + $abmeldedatum->modify($config['wiederholung_job_deadline_date_modifier']); + ?> + + vorname . ' ' . $row->nachname); ?>]]> + bezeichnung; ?>]]> + bezeichnung_mehrsprachig; ?>]]> + matrikelnr; ?>]]> + studienjahr_kurzbz; ?>]]> + studiensemester_kurzbz; ?>]]> + semester; ?>]]> + format('d.m.Y'); ?>]]> + grund; ?>]]> diff --git a/system/xsl/AntragWiederholung.xsl b/system/xsl/AntragWiederholung.xsl index aa6a28073..58ce56dfb 100644 --- a/system/xsl/AntragWiederholung.xsl +++ b/system/xsl/AntragWiederholung.xsl @@ -345,6 +345,16 @@ + + + Abmeldedatum + + + + + + + Grund der Abmeldung: