diff --git a/cis/private/lehre/abgabe_student.php b/cis/private/lehre/abgabe_student.php index 2cd19c357..f6c198edf 100644 --- a/cis/private/lehre/abgabe_student.php +++ b/cis/private/lehre/abgabe_student.php @@ -27,7 +27,7 @@ require_once('../../../include/functions.inc.php'); require_once('../../../include/datum.class.php'); require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); -require_once('../../../include/student.class.php'); +require_once('../../../include/prestudent.class.php'); require_once('../../../include/studiengang.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/phrasen.class.php'); @@ -40,86 +40,22 @@ if (!$db = new basis_db()) $getuid=get_uid(); $uid=$getuid; - -// TODO EINE get_prestudent_id -// WICHTIG TODO EINE: $uid und $getuid müssen im ganzen script noch umgeschrieben werden! - -if(isset($_GET['prestudent_id'])) -{ - //Studentenansicht - $prestudent_id = $_GET['prestudent_id']; - //Rechte Pruefen - $allowed=false; - - $prestudent = new prestudent($prestudent_id); - - $stg_obj = new studiengang(); - if(!$stg_obj->load($prestudent->studiengang_kz)) - die($p->t('global/fehlerBeimLesenAusDatenbank')); - - //Berechtigung ueber das Berechtigungssystem - $rechte = new benutzerberechtigung(); - $rechte->getBerechtigungen($getuid); - if($rechte->isBerechtigt('lehre/abgabetool',$stg_obj->oe_kurzbz,'s')) - $allowed=true; - - //oder Lektor mit Betreuung dieses Studenten - $qry = "SELECT 1 - FROM - lehre.tbl_projektarbeit - JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id) - JOIN campus.vw_benutzer on(vw_benutzer.person_id=tbl_projektbetreuer.person_id) - WHERE - tbl_projektarbeit.prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER)." AND - vw_benutzer.uid=".$db->db_add_param($getuid).";"; - - if($result = $db->db_query($qry)) - { - if($db->db_num_rows($result)>0) - { - $allowed=true; - } - } - - if(!$allowed) - { - die($p->t('abgabetool/keineBerechtigungStudentenansicht')); - } -} -$htmlstr = ''; -$htmlstr1 = ''; $vorname=''; $nachname=''; - -$sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bnachname, - (SELECT vorname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bvorname, - (SELECT titelpre FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpre, - (SELECT titelpost FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpost, - tbl_projektbetreuer.person_id AS betreuer_person_id, - tbl_projekttyp.bezeichnung AS prjbez, * - FROM lehre.tbl_projektarbeit - LEFT JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id) - LEFT JOIN public.tbl_benutzer ON(uid=student_uid) - LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) - LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - LEFT JOIN public.tbl_studiengang USING(studiengang_kz) - LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) - WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') - AND (tbl_projektbetreuer.betreuerart_kurzbz='Betreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Begutachter' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbetreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter') - AND tbl_projektarbeit.prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER)." - AND public.tbl_benutzer.aktiv - AND lehre.tbl_projektarbeit.note IS NULL - ORDER BY studiensemester_kurzbz desc, tbl_lehrveranstaltung.kurzbz"; - -//AND tbl_projektarbeit.student_uid='$getuid' 'ie07m102'; -if(!$erg=$db->db_query($sql_query)) -{ - $errormsg=$p->t('global/fehlerBeimLesenAusDatenbank'); -} -else +if(isset($_GET['uid'])) { + //Studentenansicht + $uid = $_GET['uid']; + //Rechte Pruefen + $allowed=false; + + $prestudent = new prestudent(); + $prestudent->getPrestudentsFromUid($uid); + + + $htmlstr = ''; + $htmlstr .= "
| ".$p->t('abgabetool/titel')." | ".$p->t('abgabetool/betreuerart')." | "; $htmlstr .= "||||||
|---|---|---|---|---|---|---|---|
| ".$p->t('abgabetool/upload')." | \n"; - $htmlstr .= "".$row->studiensemester_kurzbz." | \n"; - $htmlstr .= "".strtoupper($row->typ.$row->kurzbz)." | \n"; - $htmlstr .= "";
- $qry_betr="SELECT mitarbeiter_uid FROM public.tbl_person
- JOIN public.tbl_benutzer USING(person_id)
- JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
- WHERE person_id=".$db->db_add_param($row->betreuer_person_id, FHC_INTEGER).";";
- if($result_betr=$db->db_query($qry_betr))
+ foreach($prestudent->result as $pres)
+ {
+ $stg_obj = new studiengang();
+ if(!$stg_obj->load($pres->studiengang_kz))
+ die($p->t('global/fehlerBeimLesenAusDatenbank'));
+
+ //Berechtigung ueber das Berechtigungssystem
+ $rechte = new benutzerberechtigung();
+ $rechte->getBerechtigungen($getuid);
+ if($rechte->isBerechtigt('lehre/abgabetool',$stg_obj->oe_kurzbz,'s'))
+ $allowed = true;
+
+ //oder Lektor mit Betreuung dieses Studenten
+ $qry = "SELECT studiengang_kz
+ FROM
+ lehre.tbl_projektarbeit
+ JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
+ JOIN campus.vw_benutzer on(vw_benutzer.person_id=tbl_projektbetreuer.person_id)
+ JOIN tbl_prestudent USING(prestudent_id)
+ WHERE
+ tbl_projektarbeit.prestudent_id=".$db->db_add_param($pres->prestudent_id, FHC_INTEGER)." AND
+ vw_benutzer.uid=".$db->db_add_param($getuid).";";
+
+ if($result = $db->db_query($qry))
{
- if($row_betr=$db->db_fetch_object($result_betr))
+ if($db->db_num_rows($result)>0)
{
- $htmlstr.=" ";
- }
- else
- {
- $htmlstr.="UID unknown!";
+ $allowed = true;
+ }
+ }
+
+ if($allowed)
+ {
+ $sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bnachname,
+ (SELECT vorname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bvorname,
+ (SELECT titelpre FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpre,
+ (SELECT titelpost FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpost,
+ tbl_projektbetreuer.person_id AS betreuer_person_id,
+ tbl_projekttyp.bezeichnung AS prjbez, *
+ FROM lehre.tbl_projektarbeit
+ LEFT JOIN public.tbl_prestudent USING(prestudent_id)
+ LEFT JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
+ LEFT JOIN public.tbl_benutzer USING(uid)
+ LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
+ LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
+ LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
+ LEFT JOIN public.tbl_studiengang ON(tbl_studiengang.studiengang_kz = tbl_lehrveranstaltung.studiengang_kz)
+ LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
+ WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
+ AND (tbl_projektbetreuer.betreuerart_kurzbz='Betreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Begutachter' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbetreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter')
+ AND tbl_projektarbeit.prestudent_id=".$db->db_add_param($pres->prestudent_id, FHC_INTEGER)."
+ AND public.tbl_benutzer.aktiv
+ AND lehre.tbl_projektarbeit.note IS NULL
+ ORDER BY studiensemester_kurzbz desc, tbl_lehrveranstaltung.kurzbz";
+
+ if(!$erg=$db->db_query($sql_query))
+ {
+ $errormsg=$p->t('global/fehlerBeimLesenAusDatenbank');
+ }
+ else
+ {
+ while($row=$db->db_fetch_object($erg))
+ {
+ $htmlstr1='';
+ $vorname=$row->vorname;
+ $nachname=$row->nachname;
+ $uid=$row->uid;
+ ($row->btitelpre!=''?$htmlstr1 = $row->btitelpre.' ':$htmlstr1 .= '');
+ $htmlstr1 .= $row->bvorname.' '.$row->bnachname;
+ ($row->btitelpost!=''?$htmlstr1 .= ' '.$row->btitelpost:$htmlstr1 .= '');
+ $htmlstr .= " | ||||
| ".$p->t('abgabetool/upload')." | \n"; + $htmlstr .= "".$row->studiensemester_kurzbz." | \n"; + $htmlstr .= "".strtoupper($row->typ.$row->kurzbz)." | \n"; + $htmlstr .= "";
+
+ $qry_betr="SELECT mitarbeiter_uid FROM public.tbl_person
+ JOIN public.tbl_benutzer USING(person_id)
+ JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
+ WHERE person_id=".$db->db_add_param($row->betreuer_person_id, FHC_INTEGER).";";
+ if($result_betr=$db->db_query($qry_betr))
+ {
+ if($row_betr=$db->db_fetch_object($result_betr))
+ {
+ $htmlstr.=" ";
+ }
+ else
+ {
+ $htmlstr.="UID unknown!";
+ }
+ }
+ $htmlstr .= " | ";
+ $htmlstr .= " ".$htmlstr1." | \n"; + $htmlstr .= "".$db->convert_html_chars($row->prjbez)." | \n"; + $htmlstr .= "".$db->convert_html_chars($row->titel)." | \n"; + $htmlstr .= "".$db->convert_html_chars($row->betreuerart_kurzbz)." | \n"; + $htmlstr .= "".$htmlstr1." | \n"; - $htmlstr .= "".$db->convert_html_chars($row->prjbez)." | \n"; - $htmlstr .= "".$db->convert_html_chars($row->titel)." | \n"; - $htmlstr .= "".$db->convert_html_chars($row->betreuerart_kurzbz)." | \n"; - $htmlstr .= " \n"; - $i++; } - $htmlstr .= "