From 5775cbb68b1eb4590262c526a9609806ed0e60bd Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 10 Feb 2016 14:12:04 +0100 Subject: [PATCH] =?UTF-8?q?Fehler=20behoben=20bei=20dem=20das=20Erstellen?= =?UTF-8?q?=20von=20Inskriptionsbest=C3=A4tigungen=20des=20Vorsemesters=20?= =?UTF-8?q?nicht=20m=C3=B6glich=20war=20wenn=20bereits=20die=20Studiengeb?= =?UTF-8?q?=C3=BChr=20f=C3=BCr=20das=20aktuelle=20Semester=20erfasst=20wur?= =?UTF-8?q?de.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/pdfExport.php | 62 +++++++++++++++---------------- cis/private/profile/dokumente.php | 18 ++++----- include/konto.class.php | 10 +++-- locale/de-AT/tools.php | 2 +- locale/en-US/tools.php | 2 +- 5 files changed, 49 insertions(+), 45 deletions(-) diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php index c89e929da..7431913e6 100644 --- a/cis/private/pdfExport.php +++ b/cis/private/pdfExport.php @@ -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']!='') { diff --git a/cis/private/profile/dokumente.php b/cis/private/profile/dokumente.php index 022dc4522..935ccbbe4 100755 --- a/cis/private/profile/dokumente.php +++ b/cis/private/profile/dokumente.php @@ -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 '

'.$p->t('tools/dokumente').'

'; - - + + //Aktuelles Studiensemester oder gewaehltes Studiensemester $stsem_obj = new studiensemester(); if($stsem=='') $stsem = $stsem_obj->getaktorNext(); - + $stsem_obj->getAll(); echo "

"; @@ -133,7 +133,7 @@ echo $p->t('global/studiensemester')."
"; - + $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 "".$p->t('tools/inskriptionsbestaetigung').""; - 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 "".$p->t('tools/studienbuchblatt').""; - 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 "
"; } echo "
"; - + echo ' '; diff --git a/include/konto.class.php b/include/konto.class.php index 1ba9e1644..26cae748b 100644 --- a/include/konto.class.php +++ b/include/konto.class.php @@ -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)) diff --git a/locale/de-AT/tools.php b/locale/de-AT/tools.php index 223ccbd2e..59ab7636d 100755 --- a/locale/de-AT/tools.php +++ b/locale/de-AT/tools.php @@ -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'; diff --git a/locale/en-US/tools.php b/locale/en-US/tools.php index e23be4c49..4f4b81edd 100755 --- a/locale/en-US/tools.php +++ b/locale/en-US/tools.php @@ -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';