456 lines
23 KiB
PHP
Executable File
456 lines
23 KiB
PHP
Executable File
<?php
|
|
## Funktion berechnet die Ermäßigungen eines Jahres
|
|
|
|
|
|
## Funktion muss überarbeitet werden, da Ausgangspunkt nicht mehr 594 LVS pauschal sind, sondern erst in Rangfolge 2 (sort_order) kommt.
|
|
function jahresabschluss_erm($imtuid, $jahr)
|
|
{
|
|
$jahr2 = $jahr + 1;
|
|
require("config.inc.php");
|
|
require("func_sperre_erm.php");
|
|
$db = dbconnect();
|
|
|
|
# Startwert: 594
|
|
$query_startlvs = $db->query("SELECT lvs, sw, sws
|
|
FROM dep_kat_lvs
|
|
WHERE jahr <= '$jahr'
|
|
ORDER BY jahr DESC
|
|
LIMIT 1
|
|
");
|
|
$row_startlvs = $query_startlvs->fetch_array();
|
|
$start_lvs = $row_startlvs['lvs'];
|
|
$start_sw = $row_startlvs['sw'];
|
|
|
|
# Ermäßigte LVS auf 0 setzen. Wird folgend neu berechnet in while Schleife
|
|
# Wird auch neu berechnet, wenn sie davor nicht auf 0 gesetzt wurden
|
|
# Mutterschutz wird z.B. nicht berechnet. Das trägt der Admin ein
|
|
|
|
#$result_init = $db->query("UPDATE dep_deputat_ermaessigung
|
|
# SET lvs = 0
|
|
# WHERE imtuid = $imtuid
|
|
# AND jahr=$jahr
|
|
# ");
|
|
|
|
|
|
|
|
$query0 = "SELECT deid, art, funktion, beginn, ende, sws, lvs, prozent, sort_order
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE imtuid=$imtuid
|
|
AND jahr=$jahr
|
|
ORDER BY sort_order ASC, beginn ASC";
|
|
|
|
$result0 = $db->query($query0) or die("Cannot execute query 0");
|
|
|
|
while ($row0 = $result0->fetch_array()) {
|
|
|
|
# Summe der bisherigen Ermäßigungen herausfinden: < sort_order
|
|
$query_starterm = $db->query("SELECT sum(lvs) erm_ges
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE jahr = '$jahr'
|
|
AND imtuid = $imtuid
|
|
AND sort_order < $row0[sort_order]
|
|
");
|
|
$row_starterm = $query_starterm->fetch_array();
|
|
$sumerm = $row_starterm['erm_ges'];
|
|
|
|
########################################
|
|
# Schwerbehinderung
|
|
########################################
|
|
if ($row0['prozent'] > 0 and $row0['art'] == 'Schwerbehinderung') {
|
|
|
|
$lvs = "";
|
|
$start = new DateTime($row0['beginn']);
|
|
|
|
# Endtag definiert?
|
|
# --> Beginn der nächsten Schwerbehinderungs wenn kleiner 31.8 im Jahr2 sonst 31.8 vom Jahr2. Wenn nichts definiert, dann 31.8 Jahr2
|
|
$query_endnext = $db->query("SELECT date_sub(beginn, INTERVAL 1 DAY) ende
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE jahr = '$jahr'
|
|
AND imtuid = $imtuid
|
|
AND art = 'Schwerbehinderung'
|
|
and beginn > '$row0[beginn]'
|
|
ORDER BY beginn ASC
|
|
LIMIT 1
|
|
");
|
|
$row_endnext = $query_endnext->fetch_array();
|
|
if ($row_endnext['ende'] == '') {
|
|
# keine weitere Schwerbehinderung im aktuellen Jahr, dann 31.8 Jahr2
|
|
$ende = $jahr2 . '-08-31';
|
|
} elseif ($row_endnext['ende'] >= $jahr2 . '-08-31') {
|
|
# Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 Jahr2 als Enddatum setzen
|
|
$ende = $jahr2 . '-08-31';
|
|
} else {
|
|
# Ende ist der Tag vor der nächsten beginnenden Schwerbehinderung
|
|
$ende = $row_endnext['ende'];
|
|
}
|
|
#echo $ende."<br>";
|
|
$end = date_create($ende, new DateTimeZone('GMT'));
|
|
$anz_mon = 0;
|
|
$anz_mon2 = 0;
|
|
foreach (new DatePeriod($start, new DateInterval('P1M'), $end) as $cur) {
|
|
# Schleife läuft alle Monate des Studienjahrs durch und prüft monatliche Schwerbehinderung
|
|
$akt_mon = $cur->format('Y-m');
|
|
$sperre = erm_sperre($imtuid, $akt_mon);
|
|
if (!$sperre) {
|
|
$anz_mon++;
|
|
|
|
$bish_lvs = $db->query("SELECT sum(lvs) bish_lvs
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE jahr = '$jahr'
|
|
AND imtuid = $imtuid
|
|
AND sort_order < $row0[sort_order]
|
|
");
|
|
$row_bish_lvs = $bish_lvs->fetch_array();
|
|
$cur_lvs = $start_lvs - $row_bish_lvs['bish_lvs'];
|
|
# Monatliche Ermäßigung
|
|
} else {
|
|
$anz_mon2++;
|
|
} #Ende Sperrmonate
|
|
}
|
|
$result_umf = $db->query("SELECT prozent
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE date_format(beginn, '%Y-%m') <= '$akt_mon'
|
|
AND imtuid = $imtuid
|
|
AND art = 'Schwerbehinderung'
|
|
AND jahr = '$jahr'
|
|
ORDER BY beginn desc
|
|
LIMIT 1
|
|
");
|
|
$row_umf = $result_umf->fetch_array();
|
|
|
|
$lvs_ber = $cur_lvs * $row_umf['prozent'] / (12 - $anz_mon2) * $anz_mon;
|
|
#echo $akt_mon." - $row_umf[prozent] - $cur_lvs - $lvs_ber<br>";
|
|
# Summe LVS - Während der Dauer der Schwerbehinderung
|
|
$lvs = $lvs + $lvs_ber;
|
|
|
|
|
|
$result = $db->query("UPDATE dep_deputat_ermaessigung
|
|
SET lvs = '$lvs'
|
|
,monate = $anz_mon
|
|
WHERE imtuid = $imtuid
|
|
AND art = 'Schwerbehinderung'
|
|
AND jahr=$jahr
|
|
AND deid = $row0[deid]
|
|
");
|
|
} # Ende Schwerbehinderung
|
|
|
|
|
|
########################################
|
|
# Teilzeit
|
|
########################################
|
|
if ($row0['prozent'] > 0 and $row0['art'] == 'Teilzeit') {
|
|
$lvs = "";
|
|
$start = new DateTime($row0['beginn']);
|
|
|
|
# Endtag definiert?
|
|
# --> Beginn der nächsten Teilzeit wenn kleiner 31.8 im Jahr2 sonst 31.8 vom Jahr2. Wenn nichts definiert, dann 31.8 Jahr2
|
|
$query_endnext = $db->query("SELECT date_sub(beginn, INTERVAL 1 DAY) ende
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE jahr = '$jahr'
|
|
AND imtuid = $imtuid
|
|
AND art = 'Teilzeit'
|
|
and beginn > '$row0[beginn]'
|
|
ORDER BY beginn ASC
|
|
LIMIT 1
|
|
");
|
|
$row_endnext = $query_endnext->fetch_array();
|
|
if ($row_endnext['ende'] == '') {
|
|
# keine weitere Teilzeit im aktuellen Jahr, dann 31.8 Jahr2
|
|
$ende = $jahr2 . '-08-31';
|
|
} elseif ($row_endnext['ende'] >= $jahr2 . '-08-31') {
|
|
# Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 Jahr2 als Enddatum setzen
|
|
$ende = $jahr2 . '-08-31';
|
|
} else {
|
|
# Ende ist der Tag vor der nächsten beginnenden Teilzeit
|
|
$ende = $row_endnext['ende'];
|
|
}
|
|
#echo $ende."<br>";
|
|
$end = date_create($ende, new DateTimeZone('GMT'));
|
|
$anz_mon = 0;
|
|
foreach (new DatePeriod($start, new DateInterval('P1M'), $end) as $cur) {
|
|
# Schleife läuft alle Monate des Studienjahrs durch und prüft monatliche Teilzeit
|
|
$akt_mon = $cur->format('Y-m');
|
|
$sperre = erm_sperre($imtuid, $akt_mon);
|
|
if (!$sperre) {
|
|
$anz_mon++;
|
|
}
|
|
}
|
|
|
|
# Berechnung im Zeitraum
|
|
$lvs = $start_lvs * (1 - $row0['prozent']) / 12 * $anz_mon;
|
|
|
|
$result = $db->query("UPDATE dep_deputat_ermaessigung
|
|
SET lvs = '$lvs'
|
|
,monate = $anz_mon
|
|
WHERE imtuid = $imtuid
|
|
AND art = 'Teilzeit'
|
|
AND jahr=$jahr
|
|
AND deid = $row0[deid]
|
|
");
|
|
} # Ende Teilzeit
|
|
|
|
########################################
|
|
# Mutterschutz / Elternzeit
|
|
########################################
|
|
# Trägt Admin ein
|
|
|
|
|
|
########################################
|
|
# Ermäßigung/Freistellung Rektorat/Dekanat (§§ 7, 8 LVVO)
|
|
########################################
|
|
if ($row0['sws'] > 0 and strpos($row0['art'], "§§ 7, 8 LVVO") !== false) {
|
|
|
|
$lvs = "";
|
|
$start = new DateTime($row0['beginn']);
|
|
|
|
# Endtag definiert?
|
|
# Das meiste wird bei der Erfassung vom Prof. abgefangen. Es wird bis max 31.8 erfasst. Wenn leer, dann auch 31.8. Keine mehrjährigen Erfassungen möglich.
|
|
# Somit ist eigentlich immer ein Ende definiert.
|
|
# --> Beginn der nächsten Teilzeit wenn kleiner 31.8 im Jahr2 sonst 31.8 vom Jahr2. Wenn nichts definiert, dann 31.8 Jahr2
|
|
|
|
if ($row0['ende'] == '') {
|
|
# keine weitere Ermäßigung/Freistellung Rektorat/Dekanat (§§ 7, 8 LVVO) im aktuellen Jahr, dann 31.8 Jahr2
|
|
$ende = $jahr2 . '-08-31';
|
|
} elseif ($row0['ende'] >= $jahr2 . '-08-31') {
|
|
# Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 Jahr2 als Enddatum setzen
|
|
$ende = $jahr2 . '-08-31';
|
|
} else {
|
|
# Ende ist der Tag vor der nächsten beginnenden Ermäßigung/Freistellung Rektorat/Dekanat (§§ 7, 8 LVVO)
|
|
$ende = $row0['ende'];
|
|
}
|
|
#echo $ende."<br>";
|
|
$end = date_create($ende, new DateTimeZone('GMT'));
|
|
$anz_mon = 0;
|
|
|
|
foreach (new DatePeriod($start, new DateInterval('P1M'), $end) as $cur) {
|
|
$akt_mon = $cur->format('Y-m');
|
|
$sperre = erm_sperre($imtuid, $akt_mon);
|
|
if (!$sperre) {
|
|
$anz_mon++;
|
|
} #Ende Sperrmonate
|
|
}
|
|
|
|
$lvs = $row0['sws'] * $start_sw / 12 * $anz_mon;
|
|
$result = $db->query("UPDATE dep_deputat_ermaessigung
|
|
SET lvs = '$lvs'
|
|
,monate = $anz_mon
|
|
WHERE imtuid = $imtuid
|
|
AND art like '%7, 8 LVVO%'
|
|
AND jahr=$jahr
|
|
AND deid = $row0[deid]
|
|
");
|
|
} # Ende Ermäßigung/Freistellung Rektorat/Dekanat (§§ 7, 8 LVVO)
|
|
|
|
########################################
|
|
# Ermäßigung/Freistellung Funktion/Beauftragung (§ 11 LVVO)
|
|
########################################
|
|
if ($row0['sws'] > 0 and strpos($row0['art'], "§ 11 LVVO") !== false) {
|
|
|
|
$lvs = "";
|
|
$start = new DateTime($row0['beginn']);
|
|
|
|
# Endtag definiert?
|
|
# Das meiste wird bei der Erfassung vom Prof. abgefangen. Es wird bis max 31.8 erfasst. Wenn leer, dann auch 31.8. Keine mehrjährigen Erfassungen möglich.
|
|
# Somit ist eigentlich immer ein Ende definiert.
|
|
# --> Beginn der nächsten Teilzeit wenn kleiner 31.8 im Jahr2 sonst 31.8 vom Jahr2. Wenn nichts definiert, dann 31.8 Jahr2
|
|
|
|
if ($row0['ende'] == '') {
|
|
# keine weitere Ermäßigung/Freistellung Rektorat/Dekanat (§ 11 LVVO) im aktuellen Jahr, dann 31.8 Jahr2
|
|
$ende = $jahr2 . '-08-31';
|
|
} elseif ($row0['ende'] >= $jahr2 . '-08-31') {
|
|
# Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 Jahr2 als Enddatum setzen
|
|
$ende = $jahr2 . '-08-31';
|
|
} else {
|
|
# Ende ist der Tag vor der nächsten beginnenden Ermäßigung/Freistellung Rektorat/Dekanat (§ 11 LVVO)
|
|
$ende = $row0['ende'];
|
|
}
|
|
#echo $ende."<br>";
|
|
$end = date_create($ende, new DateTimeZone('GMT'));
|
|
$anz_mon = 0;
|
|
foreach (new DatePeriod($start, new DateInterval('P1M'), $end) as $cur) {
|
|
$akt_mon = $cur->format('Y-m');
|
|
$sperre = erm_sperre($imtuid, $akt_mon);
|
|
if (!$sperre) {
|
|
$anz_mon++;
|
|
} #Ende Sperrmonate
|
|
}
|
|
|
|
$lvs = $row0['sws'] * $start_sw / 12 * $anz_mon;
|
|
$result = $db->query("UPDATE dep_deputat_ermaessigung
|
|
SET lvs = '$lvs'
|
|
,monate = $anz_mon
|
|
WHERE imtuid = $imtuid
|
|
AND art like '%11 LVVO%'
|
|
AND jahr=$jahr
|
|
AND deid = $row0[deid]
|
|
");
|
|
} # Ende Ermäßigung/Freistellung Rektorat/Dekanat (§ 11 LVVO)
|
|
|
|
########################################
|
|
# Ermäßigung/Freistellung Forschungs- und Entwicklungsaufgaben ($ 2 Abs. 8, 9 LVVO)
|
|
########################################
|
|
if ($row0['sws'] > 0 and strpos($row0['art'], "§ 2 Abs. 8, 9 LVVO") !== false) {
|
|
$lvs = "";
|
|
$start = new DateTime($row0['beginn']);
|
|
|
|
# Endtag definiert?
|
|
# Das meiste wird bei der Erfassung vom Prof. abgefangen. Es wird bis max 31.8 erfasst. Wenn leer, dann auch 31.8. Keine mehrjährigen Erfassungen möglich.
|
|
# Somit ist eigentlich immer ein Ende definiert.
|
|
# --> Beginn der nächsten Teilzeit wenn kleiner 31.8 im Jahr2 sonst 31.8 vom Jahr2. Wenn nichts definiert, dann 31.8 Jahr2
|
|
|
|
if ($row0['ende'] == '') {
|
|
# keine weitere Ermäßigung/Freistellung Forschung- und Enwicklungsaufgaben (§ 2 Abs. 8, 9 LVVO) im aktuellen Jahr, dann 31.8 Jahr2
|
|
$ende = $jahr2 . '-08-31';
|
|
} elseif ($row0['ende'] >= $jahr2 . '-08-31') {
|
|
# Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 Jahr2 als Enddatum setzen
|
|
$ende = $jahr2 . '-08-31';
|
|
} else {
|
|
# Ende ist der Tag vor der nächsten beginnenden Ermäßigung/Freistellung Forschung- und Enwicklungsaufgaben (§ 2 Abs. 8, 9 LVVO)
|
|
$ende = $row0['ende'];
|
|
}
|
|
#echo $ende."<br>";
|
|
$end = date_create($ende, new DateTimeZone('GMT'));
|
|
$anz_mon = 0;
|
|
|
|
foreach (new DatePeriod($start, new DateInterval('P1M'), $end) as $cur) {
|
|
$akt_mon = $cur->format('Y-m');
|
|
$sperre = erm_sperre($imtuid, $akt_mon);
|
|
if (!$sperre) {
|
|
$anz_mon++;
|
|
}
|
|
}
|
|
|
|
$lvs = $row0['sws'] * $start_sw / 12 * $anz_mon;
|
|
$result = $db->query("UPDATE dep_deputat_ermaessigung
|
|
SET lvs = '$lvs'
|
|
,monate = $anz_mon
|
|
WHERE imtuid = $imtuid
|
|
AND art like '%§ 2 Abs. 8, 9 LVVO%'
|
|
AND jahr=$jahr
|
|
AND deid = $row0[deid]
|
|
");
|
|
} # Ende Ermäßigung/Freistellung Forschungs- und Entwicklungsaufgaben (§ 2 Abs. 8, 9 LVVO)
|
|
|
|
|
|
########################################
|
|
# Ermäßigung Forschungssemester/Praxissemester/Abordnungen
|
|
########################################
|
|
if (($row0['beginn'] != '' OR $row0['beginn'] != '0000-00-00') and strpos($row0['art'], "Forschungssemester/Praxissemester/Abordnungen") !== false) {
|
|
$lvs = "";
|
|
$start = new DateTime($row0['beginn']);
|
|
|
|
# Endtag definiert?
|
|
# Das meiste wird bei der Erfassung vom Prof. abgefangen. Es wird bis max 31.8 erfasst. Wenn leer, dann auch 31.8. Keine mehrjährigen Erfassungen möglich.
|
|
# Somit ist eigentlich immer ein Ende definiert.
|
|
# --> Beginn der nächsten Teilzeit wenn kleiner 31.8 im Jahr2 sonst 31.8 vom Jahr2. Wenn nichts definiert, dann 31.8 Jahr2
|
|
|
|
if ($row0['ende'] == '') {
|
|
# keine weitere Ermäßigung Forschungssemester/Praxissemester/Abordnungen im aktuellen Jahr, dann 31.8 Jahr2
|
|
$ende = $jahr2 . '-08-31';
|
|
} elseif ($row0['ende'] >= $jahr2 . '-08-31') {
|
|
# Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 Jahr2 als Enddatum setzen
|
|
$ende = $jahr2 . '-08-31';
|
|
} else {
|
|
# Ende ist der Tag vor der nächsten beginnenden ErmäßigungForschungssemester/Praxissemester/Abordnungen
|
|
$ende = $row0['ende'];
|
|
}
|
|
#echo $ende."<br>";
|
|
$end = date_create($ende, new DateTimeZone('GMT'));
|
|
$anz_mon = 0;
|
|
foreach (new DatePeriod($start, new DateInterval('P1M'), $end) as $cur) {
|
|
$anz_mon++;
|
|
}
|
|
|
|
$bish_lvs = $db->query("SELECT sum(lvs) bish_lvs
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE jahr = '$jahr'
|
|
AND imtuid = $imtuid
|
|
AND sort_order < $row0[sort_order]
|
|
");
|
|
$row_bish_lvs = $bish_lvs->fetch_array();
|
|
$cur_lvs = $start_lvs - $row_bish_lvs['bish_lvs'];
|
|
|
|
$lvs = $cur_lvs / 12 * $anz_mon;
|
|
|
|
$result = $db->query("UPDATE dep_deputat_ermaessigung
|
|
SET lvs = '$lvs'
|
|
,monate = $anz_mon
|
|
WHERE imtuid = $imtuid
|
|
AND art like '%Forschungssemester/Praxissemester/Abordnungen%'
|
|
AND jahr=$jahr
|
|
AND deid = $row0[deid]
|
|
");
|
|
} # Ende Ermäßigung Forschungssemester/Praxissemester/Abordnungen
|
|
|
|
########################################
|
|
# Ermäßigung Ruhestand
|
|
########################################
|
|
if (($row0['beginn'] != '' OR $row0['beginn'] != '0000-00-00') and strpos($row0['art'], "Ruhestand") !== false) {
|
|
|
|
$lvs = "";
|
|
|
|
# Erfasst wird der letzte Arbeitstag. Programm setzt das immer auf den Monatsletzten. Daher muss für den Beginn 1 Tag addiert werden. Erfasst wurde 28.2 Beginn ist dann 01.03
|
|
$newDate = new DateTime($row0['beginn']);
|
|
$newDate->add(new DateInterval('P1D')); // P1D means a period of 1 day
|
|
$newDateForm= $newDate->format('Y-m-d');
|
|
$start = new DateTime($newDateForm);
|
|
|
|
# Endtag definiert?
|
|
# Das meiste wird bei der Erfassung vom Prof. abgefangen. Es wird bis max 31.8 erfasst. Wenn leer, dann auch 31.8. Keine mehrjährigen Erfassungen möglich.
|
|
# Somit ist eigentlich immer ein Ende definiert.
|
|
# --> Beginn der nächsten Teilzeit wenn kleiner 31.8 im Jahr2 sonst 31.8 vom Jahr2. Wenn nichts definiert, dann 31.8 Jahr2
|
|
|
|
if ($row0['ende'] == '' or $row0['ende'] == '0000-00-00') {
|
|
# keine weitere Ermäßigung Forschungssemester/Praxissemester/Abordnungen im aktuellen Jahr, dann 31.8 Jahr2
|
|
$ende = $jahr2 . '-08-31';
|
|
} elseif ($row0['ende'] >= $jahr2 . '-08-31') {
|
|
# Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 Jahr2 als Enddatum setzen
|
|
$ende = $jahr2 . '-08-31';
|
|
} else {
|
|
# Ende ist der Tag vor der nächsten beginnenden ErmäßigungForschungssemester/Praxissemester/Abordnungen
|
|
$ende = $row0['ende'];
|
|
}
|
|
|
|
#echo $ende."<br>";
|
|
$end = date_create($ende, new DateTimeZone('GMT'));
|
|
$anz_mon = 0;
|
|
foreach (new DatePeriod($start, new DateInterval('P1M'), $end) as $cur) {
|
|
$anz_mon++;
|
|
}
|
|
|
|
$bish_lvs = $db->query("SELECT sum(lvs) bish_lvs
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE jahr = '$jahr'
|
|
AND imtuid = $imtuid
|
|
AND sort_order < $row0[sort_order]
|
|
");
|
|
$row_bish_lvs = $bish_lvs->fetch_array();
|
|
$cur_lvs = $start_lvs - $row_bish_lvs['bish_lvs'];
|
|
|
|
$lvs = $cur_lvs / 12 * $anz_mon;
|
|
|
|
$result = $db->query("UPDATE dep_deputat_ermaessigung
|
|
SET lvs = '$lvs'
|
|
,monate = $anz_mon
|
|
WHERE imtuid = $imtuid
|
|
AND art like '%Ruhestand%'
|
|
AND jahr=$jahr
|
|
AND deid = $row0[deid]
|
|
");
|
|
} # Ende Ermäßigung Ruhestand
|
|
|
|
} # Ende äußere While Schleife
|
|
|
|
$bish_lvs = $db->query("SELECT sum(lvs) bish_lvs
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE jahr = '$jahr'
|
|
AND imtuid = $imtuid
|
|
");
|
|
$row_bish_lvs = $bish_lvs->fetch_array();
|
|
$cur_lvs = $start_lvs - $row_bish_lvs['bish_lvs'];
|
|
|
|
#echo $cur_lvs."<br>";
|
|
}
|
|
|
|
#echo jahresabschluss_erm(1,2019);
|
|
?>
|