diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 22cc06425..823e5a9aa 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -209,6 +209,16 @@ class prestudent extends person $this->errormsg = 'Reihungstestpunkte3 darf nicht groesser als 9999.9999 sein'; return false; } + if(mb_strlen($this->zgvort)>64) + { + $this->errormsg = 'ZGV Ort darf nicht länger als 64 Zeichen sein.'; + return false; + } + if(mb_strlen($this->zgvmaort)>64) + { + $this->errormsg = 'ZGV Master Ort darf nicht länger als 64 Zeichen sein.'; + return false; + } return true; } @@ -435,14 +445,14 @@ class prestudent extends person tbl_reihungstest.*, ps.studiengang_kz as studiengang_kz, tbl_studiengang.typ - FROM + FROM public.tbl_prestudent ps JOIN public.tbl_person pers USING (person_id) JOIN public.tbl_rt_person USING (person_id) JOIN public.tbl_reihungstest ON (tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id) JOIN public.tbl_studiengang ON (ps.studiengang_kz=tbl_studiengang.studiengang_kz) - JOIN public.tbl_prestudentstatus ON (tbl_prestudentstatus.prestudent_id=ps.prestudent_id - AND status_kurzbz=\'Interessent\' + JOIN public.tbl_prestudentstatus ON (tbl_prestudentstatus.prestudent_id=ps.prestudent_id + AND status_kurzbz=\'Interessent\' AND tbl_prestudentstatus.studiensemester_kurzbz=tbl_reihungstest.studiensemester_kurzbz) WHERE tbl_reihungstest.datum='.$this->db_add_param($datum).' @@ -450,8 +460,8 @@ class prestudent extends person AND tbl_prestudentstatus.studienplan_id IN (SELECT studienplan_id FROM public.tbl_rt_studienplan WHERE reihungstest_id=tbl_rt_person.rt_id) AND EXISTS(SELECT * FROM public.tbl_prestudentstatus JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE prestudent_id=ps.prestudent_id AND tbl_studiensemester.ende > '.$this->db_add_param($datum).') - AND priorisierung = (SELECT priorisierung FROM public.tbl_prestudent - WHERE person_id = pers.person_id + AND priorisierung = (SELECT priorisierung FROM public.tbl_prestudent + WHERE person_id = pers.person_id AND get_rolle_prestudent (ps.prestudent_id,NULL) IN (\'Interessent\',\'Bewerber\',\'Wartender\',\'Aufgenommener\') --AND tbl_prestudent.studiengang_kz=ps.studiengang_kz ORDER BY priorisierung ASC LIMIT 1) @@ -496,9 +506,9 @@ class prestudent extends person if (is_numeric($prestudent_id)) { $qry = " - SELECT DISTINCT ON (priorisierung, prestudent_id) + SELECT DISTINCT ON (priorisierung, prestudent_id) priorisierung, - prestudent_id, + prestudent_id, tbl_prestudentstatus.studienplan_id, studiengang_kz, typ, @@ -517,7 +527,7 @@ class prestudent extends person lehre.tbl_studienplan ON (tbl_prestudentstatus.studienplan_id = tbl_studienplan.studienplan_id) JOIN bis.tbl_orgform ON (tbl_studienplan.orgform_kurzbz = tbl_orgform.orgform_kurzbz) - WHERE + WHERE tbl_prestudent.person_id = ( SELECT person_id @@ -526,19 +536,19 @@ class prestudent extends person WHERE prestudent_id = ". $this->db_add_param($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 (!is_null($typ) && is_string($typ)) @@ -556,10 +566,10 @@ class prestudent extends person $qry .= " -- Order to get the very last status and highest prio on top ORDER BY - priorisierung NULLS LAST, + priorisierung NULLS LAST, prestudent_id, datum DESC, - tbl_prestudentstatus.insertamum DESC, + tbl_prestudentstatus.insertamum DESC, tbl_prestudentstatus.ext_id DESC " ; @@ -634,7 +644,7 @@ class prestudent extends person if($this->db_query($qry)) { $this->num_rows=0; - + while($row = $this->db_fetch_object()) { $rolle = new prestudent(); @@ -1008,13 +1018,13 @@ class prestudent extends person JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); - + if ($studiensemester_kurzbz != '') $qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); - + if ($status_kurzbz != '') $qry .= " AND status_kurzbz=".$this->db_add_param($status_kurzbz); - + if ($studienplan_id != '') $qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id); @@ -1045,7 +1055,7 @@ class prestudent extends person return false; } } - + /** * Speichert den Prestudentstatus * @return true wenn ok, false im Fehlerfall @@ -1384,12 +1394,12 @@ class prestudent extends person return false; } - $qry = "SELECT - * - FROM - public.tbl_prestudent - WHERE - person_id=".$this->db_add_param($person_id, FHC_INTEGER)." + $qry = "SELECT + * + FROM + public.tbl_prestudent + WHERE + person_id=".$this->db_add_param($person_id, FHC_INTEGER)." ORDER BY prestudent_id"; if($this->db_query($qry)) @@ -2122,7 +2132,7 @@ class prestudent extends person return false; } } - + /** * Liefert die Priorität des PreStudenten einer Person in einem Studiensemester * Per Default wird die Höchste Priorisierung (ORDER BY DESC NULLS LAST) zurueckgegeben. @@ -2142,9 +2152,9 @@ class prestudent extends person tbl_prestudent.person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND tbl_prestudentstatus.status_kurzbz='Interessent' AND tbl_prestudentstatus.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." - ORDER BY ".$order." + ORDER BY ".$order." LIMIT 1"; - + if($result = $this->db_query($qry)) { if($row = $this->db_fetch_object($result)) @@ -2164,9 +2174,9 @@ class prestudent extends person $this->errormsg = 'Fehler beim Laden der Daten'; return false; } - + } - + /** * Liefert die relative Priorität (zB 1, 2, 3) eines PreStudenten Anhand seiner absoluten Priorität (zB 9, 10, 11) @@ -2204,7 +2214,7 @@ class prestudent extends person ) prest WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent') AND priorisierung <= ".$this->db_add_param($priorisierungAbsolut, FHC_INTEGER); - + if($result = $this->db_query($qry)) { if($row = $this->db_fetch_object($result)) @@ -2222,6 +2232,6 @@ class prestudent extends person $this->errormsg = 'Fehler beim Laden der Daten'; return false; } - + } }