Fehler behoben bei dem das Erstellen von Inskriptionsbestätigungen des Vorsemesters nicht möglich war wenn bereits die Studiengebühr für das aktuelle Semester erfasst wurde.

This commit is contained in:
oesi
2016-02-10 14:12:04 +01:00
parent e63d99b63e
commit 5775cbb68b
5 changed files with 49 additions and 45 deletions
+31 -31
View File
@@ -37,7 +37,7 @@ require_once('../../include/addon.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
$user = get_uid();
loadVariables($user);
@@ -60,9 +60,9 @@ else
if(isset($_GET['version']) && is_numeric($_GET['version']))
$version = $_GET['version'];
else
else
$version ='';
if(isset($_GET['xsl_oe_kurzbz']))
$xsl_oe_kurzbz=$_GET['xsl_oe_kurzbz'];
else
@@ -106,11 +106,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
}
$stsem_zahlung = $konto->getLastStSemBuchungstypen($user, $buchungstypen);
$stsem_zahlung = $konto->getLastStSemBuchungstypen($user, $buchungstypen, $_GET['ss']);
if((($xsl=='Inskription') || ($xsl == 'Studienblatt')) && ($_GET["ss"] != $stsem_zahlung))
{
die('Der Studienbeitrag wurde noch nicht bezahlt');
die('Der Studienbeitrag wurde noch nicht bezahlt');
}
if(isset($_GET['buchungsnummern']))
{
@@ -134,11 +134,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
//echo $xml_url;
// Load the XML source
$xml_doc = new DOMDocument;
if(!$xml_doc->load($xml_url))
die('unable to load xml');
//echo ':'.$xml_doc->saveXML().':';
//XSL aus der DB holen
$vorlage = new vorlage();
if($xsl_oe_kurzbz!='')
@@ -149,7 +149,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
{
if($xsl_stg_kz=='')
$xsl_stg_kz='0';
$vorlage->getAktuelleVorlage($xsl_stg_kz, $xsl, $version);
}
@@ -159,12 +159,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
{
case 'application/vnd.oasis.opendocument.text':
$endung = 'odt';
break;
break;
case 'application/vnd.oasis.opendocument.spreadsheet':
$endung = 'ods';
break;
$endung = 'ods';
break;
default:
$endung = 'pdf';
$endung = 'pdf';
}
// Load the XSL source
@@ -172,11 +172,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
if(!$xsl_doc->loadXML($vorlage->text))
die('unable to load xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
$buffer = $proc->transformToXml($xml_doc);
//echo $buffer;
//exit;
@@ -186,7 +186,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
file_put_contents('content.xml', $buffer);
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
if(isset($_GET['style_xsl']))
{
$style_xsl=$_GET['style_xsl'];
@@ -220,8 +220,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
}
if(!$vorlage_found)
$zipfile = DOC_ROOT.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
$tempname_zip = 'out.zip';
if(copy($zipfile, $tempname_zip))
{
@@ -229,10 +229,10 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
if(isset($_GET['style_xsl']))
exec("zip $tempname_zip styles.xml");
clearstatcache();
clearstatcache();
if($vorlage->bezeichnung!='')
$filename = $vorlage->bezeichnung;
else
else
$filename = $vorlage->vorlage_kurzbz;
if($output == 'pdf')
{
@@ -261,12 +261,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$filename = $filename.'.pdf';
}
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName");
$fsize = filesize($tempPdfName);
$fsize = filesize($tempPdfName);
$handle = fopen($tempPdfName,'r');
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.$fsize);
header('Content-Length: '.$fsize);
}
else if($output =='odt')
{
@@ -280,8 +280,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$handle = fopen($tempname_zip,'r');
header('Content-type: '.$vorlage->mimetype);
header('Content-Disposition: attachment; filename="'.$filename.'.'.$endung.'"');
header('Content-Length: '.$fsize);
}
header('Content-Length: '.$fsize);
}
else if($output =='doc')
{
$tempPdfName = $vorlage->vorlage_kurzbz.'.doc';
@@ -291,19 +291,19 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$studienordnung->loadStudienordnung($_GET['studienordnung_id']);
$filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.doc';
}
else
else
{
$filename = $filename.'.doc';
}
exec("unoconv -e IsSkipEmptyPages=false --stdout -f doc $tempname_zip > $tempPdfName");
$fsize = filesize($tempPdfName);
$fsize = filesize($tempPdfName);
$handle = fopen($tempPdfName,'r');
header('Content-type: application/vnd.ms-word');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.$fsize);
header('Content-Length: '.$fsize);
}
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 8192);
}
@@ -339,7 +339,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
//wenn uid gefunden wird, dann den Nachnamen zum Dateinamen dazuhaengen
$nachname='';
if(isset($_GET['uid']) && $_GET['uid']!='')
{
+9 -9
View File
@@ -38,7 +38,7 @@ if(isset($_GET['stsem']))
else
$stsem = '';
$uid=get_uid();
$uid=get_uid();
$student_studiengang = new student();
$student_studiengang->load($uid);
@@ -114,13 +114,13 @@ echo '
<body>
<h1>'.$p->t('tools/dokumente').'</h1>';
//Aktuelles Studiensemester oder gewaehltes Studiensemester
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
echo "<br><hr>";
@@ -133,7 +133,7 @@ echo $p->t('global/studiensemester')."</b> <SELECT name='stsem' onChange=\"MM_ju
echo "<OPTION value='dokumente.php?stsem=$semrow->studiensemester_kurzbz'>$semrow->studiensemester_kurzbz</OPTION>";
}
echo "</SELECT><br />";
$konto = new konto();
$buchungstypen = array();
@@ -142,11 +142,11 @@ if(defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN"))
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
}
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen);
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen, $stsem);
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
{
echo "<a href='../pdfExport.php?xsl=Inskription&xml=student.rdf.php&ss=".$stsem."&uid=".$uid."&xsl_stg_kz=".$xsl_stg_kz."'>".$p->t('tools/inskriptionsbestaetigung')."</a>";
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahltAmDatum',array($stsem, $konto->buchungsdatum));
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem));
}
else
echo $p->t('tools/inskriptionsbestaetigung')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem));
@@ -158,7 +158,7 @@ if(defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUC
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
{
echo "<a href='../pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&ss=".$stsem."&uid=".$uid."'>".$p->t('tools/studienbuchblatt')."</a>";
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahltAmDatum',array($stsem, $konto->buchungsdatum));
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem));
}
else
echo $p->t('tools/studienbuchblatt')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem));
@@ -173,7 +173,7 @@ if(defined('CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN') && CIS_DOKUMENTE_
echo "<hr>";
}
echo "<br>";
echo '</body>
</html>
';
+7 -3
View File
@@ -489,7 +489,7 @@ class konto extends basis_db
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
if($this->db_query($subqry))
{
if ($this->db_num_rows()==0)
@@ -629,7 +629,7 @@ class konto extends basis_db
* student_uid und studiensemester
* gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum
*/
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array)
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array, $studiensemester_kurzbz=null)
{
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum, tbl_konto.buchungsnr_verweis, tbl_konto.studiensemester_kurzbz
FROM
@@ -640,7 +640,11 @@ class konto extends basis_db
WHERE
tbl_benutzer.uid = ".$this->db_add_param($uid)."
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")";
if(!is_null($studiensemester_kurzbz))
$subqry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$subqry.="
ORDER BY tbl_studiensemester.start DESC";
if($result = $this->db_query($subqry))
+1 -1
View File
@@ -3,7 +3,7 @@
//Dokumente
$this->phrasen['tools/dokumente']='Dokumente';
$this->phrasen['tools/inskriptionsbestaetigung']='Inskriptionsbestätigung';
$this->phrasen['tools/studienbeitragFuerSSBezahltAmDatum']='Studienbeitrag für das %1$s bezahlt am %2$s';
$this->phrasen['tools/studienbeitragFuerSSBezahlt']='Studienbeitrag für das %1$s bezahlt';
$this->phrasen['tools/studienbeitragFuerSSNochNichtBezahlt']='Studienbeitrag für das %1$s noch nicht bezahlt';
$this->phrasen['tools/studienerfolgsbestaetigung']='Studienerfolgsbestätigung';
$this->phrasen['tools/studiensemesterAuswaehlen']='Bitte wählen Sie das entsprechende Studiensemester aus';
+1 -1
View File
@@ -3,7 +3,7 @@
//Dokumente
$this->phrasen['tools/dokumente']='Documents';
$this->phrasen['tools/inskriptionsbestaetigung']='Enrollment Confirmation';
$this->phrasen['tools/studienbeitragFuerSSBezahltAmDatum']='tuition fee for semester %1$s paid at %2$s';
$this->phrasen['tools/studienbeitragFuerSSBezahlt']='tuition fee for semester %1$s paid';
$this->phrasen['tools/studienbeitragFuerSSNochNichtBezahlt']='tuition fee for semester %1$s not yet paid';
$this->phrasen['tools/studienerfolgsbestaetigung']='Student progress report';
$this->phrasen['tools/studiensemesterAuswaehlen']='Please select the corresponding semester';