diff --git a/application/helpers/hlp_sancho_helper.php b/application/helpers/hlp_sancho_helper.php index 204b17f11..dfcebe809 100644 --- a/application/helpers/hlp_sancho_helper.php +++ b/application/helpers/hlp_sancho_helper.php @@ -34,9 +34,11 @@ const DEFAULT_SANCHO_FOOTER_IMG = 'sancho_footer_DEFAULT.jpg'; * @param string $to Email-adress. * @param string $subject Subject of mail. * @param string $headerImg Filename of the specific Sancho header image. + * @param string $cc Sets CC of mail. + * @param string $bcc Sets BCC of mail. * @return void */ -function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerImg = DEFAULT_SANCHO_HEADER_IMG, $footerImg = DEFAULT_SANCHO_FOOTER_IMG) +function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerImg = DEFAULT_SANCHO_HEADER_IMG, $footerImg = DEFAULT_SANCHO_FOOTER_IMG, $from = null, $cc = null, $bcc = null) { $ci =& get_instance(); $ci->load->library('email'); @@ -45,6 +47,11 @@ function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerIm $sanchoHeader_img = 'skin/images/sancho/'. $headerImg; $sanchoFooter_img = 'skin/images/sancho/'. $footerImg; + if ($from == '') + { + $from = 'sancho@'.DOMAIN; + } + // Embed sancho header and footer image // reset important to ensure embedding of images when called in a loop $ci->email->clear(true); // clear vars and attachments @@ -67,7 +74,7 @@ function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerIm $body = _parseMailContent('Sancho_Mail_Template', $layout); // Send mail - $ci->maillib->send('sancho@'. DOMAIN, $to, $subject, $body, $alias = '', $cc = null, $bcc = null, $altMessage = '', $bulk = true, $autogenerated = true); + $ci->maillib->send($from, $to, $subject, $body, $alias = '', $cc = null, $bcc = null, $altMessage = '', $bulk = true, $autogenerated = true); } /** diff --git a/cis/testtool/login.php b/cis/testtool/login.php index 5fec6d670..06997012f 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -179,19 +179,38 @@ if (isset($_POST['prestudent']) && isset($gebdatum)) $_SESSION['semester']=$semester; // STG und Studienplan mit der höchsten Prio ermitteln - $ps->getActualInteressenten($_POST['prestudent'], true); - $firstPrio_studienplan_id = array_column($ps->result, 'studienplan_id'); - $firstPrio_studienplan_id = array_shift($firstPrio_studienplan_id); - $firstPrio_studiengang_kz = array_column($ps->result, 'studiengang_kz'); - $firstPrio_studiengang_kz = array_shift($firstPrio_studiengang_kz); + $firstPrio_studienplan_id = ''; + $firstPrio_studiengang_kz = ''; + $ps->getActualInteressenten($_POST['prestudent'], true); + foreach($ps->result as $row) + { + if(isset($row->studiengang_kz)) + { + $firstPrio_studienplan_id = $row->studienplan_id; + break; + } + } + foreach($ps->result as $row) + { + if(isset($row->studiengang_kz)) + { + $firstPrio_studiengang_kz = $row->studiengang_kz; + break; + } + } // Sprachvorgaben zu STG mit höchster Prio ermitteln // * 1. Sprache über Ablauf Vorgaben ermitteln $ablauf = new Ablauf(); $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz); - $rt_sprache = $ablauf->result[0]->sprache; + $rt_sprache = ''; + + if(!empty($ablauf->result[0])) + { + $rt_sprache = $ablauf->result[0]->sprache; + } // * 2. falls keine Sprache vorhanden -> Sprache über Studienplan ermitteln if (empty($rt_sprache)) @@ -199,7 +218,6 @@ if (isset($_POST['prestudent']) && isset($gebdatum)) $stpl = new Studienplan(); $stpl->loadStudienplan($firstPrio_studienplan_id); $rt_sprache = $stpl->sprache; - } // * 3. falls keine Sprache vorhanden -> Sprache über Studiengang ermitteln @@ -258,8 +276,8 @@ if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) if(!$pruefling->getPruefling($_SESSION['prestudent_id'])) $pruefling->new = true; else - $pruefling->new = false; - + $pruefling->new = false; + $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; $pruefling->semester = $_SESSION['semester']; @@ -272,7 +290,7 @@ if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) $reload_parent=true; } } - + if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) { $pruefling = new pruefling(); @@ -283,7 +301,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) $pruefling->new=false; else $pruefling->new=true; - + $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; $pruefling->idnachweis = isset($_POST['idnachweis'])?$_POST['idnachweis']:''; $pruefling->registriert = date('Y-m-d H:i:s'); @@ -328,7 +346,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) defaultDate: "-6570", maxDate: -5110, yearRange: "-60:+00", - });'; + });'; ?> }); @@ -336,7 +354,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) parent.menu.location.reload();'; //CRIS: nach reload()ein ; ergänzt - + if($reload) echo ""; ?> @@ -344,8 +362,8 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) '.$p->t('testtool/startseite').''; - -//REIHUNGSTEST STARTSEITE (nach Login) + +//REIHUNGSTEST STARTSEITE (nach Login) if (isset($prestudent_id)) { @@ -358,24 +376,31 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) // STG mit der höchsten Prio ermitteln $ps = new Prestudent(); + // * prinzipiell STG der session übernehmem + $firstPrio_studiengang_kz = $prestudent->studiengang_kz;; + // * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller // Bachelor-STG ermitteln, an denen die Person noch interessiert ist if ($typ->typ == 'b') { $ps->getActualInteressenten($prestudent_id, true, 'b'); - $firstPrio_studiengang_kz = array_column($ps->result, 'studiengang_kz'); - $firstPrio_studiengang_kz = array_shift($firstPrio_studiengang_kz); + foreach($ps->result as $row_prio) + { + if(isset($row_prio->studiengang_kz)) + { + $firstPrio_studiengang_kz = $row_prio->studiengang_kz; + break; + } + } } - // * sonst STG der session übernehmem - else - { - $firstPrio_studiengang_kz = $prestudent->studiengang_kz; - } // Sprachwahl zu STG mit höchster Prio ermitteln $ablauf = new Ablauf(); - $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz); - $sprachwahl = $ablauf->result[0]->sprachwahl; + $sprachwahl = false; + if ($ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz) && is_bool($ablauf->result[0]->sprachwahl)) + { + $sprachwahl = $ablauf->result[0]->sprachwahl; + } //Prestudent Informationen und Logout echo '
'; @@ -414,7 +439,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) echo ''; echo '
'; echo '

'; - + if($pruefling->getPruefling($prestudent_id)) { echo '
'; @@ -485,8 +510,8 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) echo ''; echo '  '.$p->t('global/geburtsdatum').': '; echo ''; - echo '  '; - echo '
'; + echo '  '; + echo ''; echo '


@@ -496,4 +521,4 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) ?> - \ No newline at end of file + diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index 75d820a59..dd3475ce1 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -91,14 +91,14 @@ if (isset($_SESSION['pruefling_id'])) //content_id fuer Einfuehrung auslesen $qry = "SELECT content_id FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$db->db_add_param($_SESSION['studiengang_kz'])." LIMIT 1"; $result = $db->db_query($qry); - + echo ''; echo ''; if ($content_id = $db->db_fetch_object($result)) if($content_id->content_id!='') - echo ''; + echo ''; echo ''; echo '
'.$p->t('testtool/startseite').'
'.$p->t('testtool/einleitung').'
'.$p->t('testtool/einleitung').'
 
'; @@ -130,8 +130,8 @@ if (isset($_SESSION['pruefling_id'])) $qry = " WITH prestudent_data AS ( - SELECT DISTINCT ON (prestudent_id) - prestudent_id, + SELECT DISTINCT ON (prestudent_id) + prestudent_id, studienplan_id, studiengang_kz, typ, @@ -145,7 +145,7 @@ if (isset($_SESSION['pruefling_id'])) public.tbl_studiengang USING (studiengang_kz) JOIN public.tbl_studiengangstyp USING (typ) - WHERE + WHERE tbl_prestudent.person_id = ( SELECT person_id @@ -154,19 +154,19 @@ if (isset($_SESSION['pruefling_id'])) WHERE prestudent_id = ".$db->db_add_param($_SESSION['prestudent_id'])." ) - + -- Filter only future studiensemester (incl. actual one) AND studiensemester_kurzbz IN ( - SELECT + SELECT studiensemester_kurzbz FROM - public.tbl_studiensemester - WHERE + public.tbl_studiensemester + WHERE ende > now() ) - - AND + + AND status_kurzbz = 'Interessent'"; /* If the logged-in prestudents study is a Bachelor-study, filter only Bachelor-studies */ @@ -188,7 +188,7 @@ if (isset($_SESSION['pruefling_id'])) ORDER BY prestudent_id, datum DESC, - tbl_prestudentstatus.insertamum DESC, + tbl_prestudentstatus.insertamum DESC, tbl_prestudentstatus.ext_id DESC ) @@ -200,7 +200,7 @@ if (isset($_SESSION['pruefling_id'])) ". $bezeichnung_mehrsprachig_sel. " FROM ( - (SELECT + (SELECT prestudent_data.semester AS ps_sem, gebiet_id, bezeichnung, @@ -209,11 +209,11 @@ if (isset($_SESSION['pruefling_id'])) tbl_ablauf.semester, tbl_ablauf.reihung, ".$bezeichnung_mehrsprachig. " - FROM + FROM prestudent_data - JOIN + JOIN testtool.tbl_ablauf USING (studiengang_kz) - JOIN + JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) @@ -224,7 +224,7 @@ if (isset($_SESSION['pruefling_id'])) UNION ( - SELECT + SELECT prestudent_data.semester AS ps_sem, gebiet_id, bezeichnung, @@ -233,18 +233,18 @@ if (isset($_SESSION['pruefling_id'])) tbl_ablauf.semester, tbl_ablauf.reihung, ". $bezeichnung_mehrsprachig. " - FROM + FROM prestudent_data - JOIN + JOIN testtool.tbl_ablauf USING (studienplan_id) - JOIN + JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) OR (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) - ) - + ) + ORDER BY reihung ) temp @@ -255,7 +255,7 @@ if (isset($_SESSION['pruefling_id'])) $result = $db->db_query($qry); $lastsemester = ''; - + while($row = $db->db_fetch_object($result)) { //Jedes Semester in einer eigenen Tabelle anzeigen @@ -267,7 +267,7 @@ if (isset($_SESSION['pruefling_id'])) echo '
'; } $lastsemester = $row->semester; - + echo ''; echo ''; } @@ -276,9 +276,9 @@ if (isset($_SESSION['pruefling_id'])) { //Status der Gebiete Pruefen $gebiet->load($row->gebiet_id); - + $qry = "SELECT extract('epoch' from '".$gebiet->zeit."'-(now()-min(begintime))) as time - FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id) + FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id) WHERE gebiet_id=".$db->db_add_param($row->gebiet_id)." AND pruefling_id=".$db->db_add_param($_SESSION['pruefling_id']); if($result_time = $db->db_query($qry)) { @@ -326,7 +326,7 @@ if (isset($_SESSION['pruefling_id'])) '; } - else + else { echo '
'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'
diff --git a/content/student/studentabschlusspruefung.js.php b/content/student/studentabschlusspruefung.js.php index 481b1603f..cac9cb78a 100644 --- a/content/student/studentabschlusspruefung.js.php +++ b/content/student/studentabschlusspruefung.js.php @@ -995,9 +995,9 @@ function StudentAbschlusspruefungPrintUrkundeMultiple(event, sprache) return false; } - if(pruefungstyp_kurzbz=='Bachelor' && sprache=='deutsch') + if((pruefungstyp_kurzbz=='Bachelor' || pruefungstyp_kurzbz=='lgabschluss') && sprache=='deutsch') xsl='Bakkurkunde'; - else if(pruefungstyp_kurzbz=='Bachelor' && sprache=='englisch') + else if((pruefungstyp_kurzbz=='Bachelor' || pruefungstyp_kurzbz=='lgabschluss') && sprache=='englisch') xsl='BakkurkundeEng'; else if(pruefungstyp_kurzbz=='Diplom' && sprache=='deutsch') xsl='Diplomurkunde'; diff --git a/content/tempusoverlay.xul.php b/content/tempusoverlay.xul.php index 3cceefdf3..c5b728da1 100644 --- a/content/tempusoverlay.xul.php +++ b/content/tempusoverlay.xul.php @@ -80,7 +80,7 @@ echo ' - +