diff --git a/cis/private/tools/projektabgabe.php b/cis/private/tools/projektabgabe.php
index febe60eeb..eb206b17e 100644
--- a/cis/private/tools/projektabgabe.php
+++ b/cis/private/tools/projektabgabe.php
@@ -1,227 +1,309 @@
-
- * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
- * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
- * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
- */
-/*******************************************************************************************************
- * projektabgabe
- * projektabgabe ermöglicht den Download aller Abgaben eines Stg.
- * fuer Diplom- und Bachelorarbeiten
- *******************************************************************************************************/
-
-require_once('../../../config/cis.config.inc.php');
-// ------------------------------------------------------------------------------------------
-// Datenbankanbindung
-// ------------------------------------------------------------------------------------------
-
-require_once('../../../include/functions.inc.php');
-require_once('../../../include/studiengang.class.php');
-require_once('../../../include/datum.class.php');
-require_once('../../../include/benutzerberechtigung.class.php');
-require_once('../../../include/datum.class.php');
-require_once('../../../include/mail.class.php');
- if (!$db = new basis_db())
- $db=false;
-$aktion='';
-if(isset($_REQUEST['aktion']))
-{
- $aktion=$_REQUEST['aktion'];
-}
-$zipfile='';
-$stg_kz=(isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:0);
-$abgabetyp=(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:'');
-if(!is_numeric($stg_kz) && $stg_kz!='')
- exit();
-$htmlstr='';
-$datum_obj = new datum();
-$user = get_uid();
-$rechte = new benutzerberechtigung();
-$rechte->getBerechtigungen($user);
-$berechtigung_kurzbz = 'lehre/abgabetool:download';
-
-if(isset($_GET['id']) && isset($_GET['uid']))
-{
- if($rechte->isBerechtigt($berechtigung_kurzbz))
- {
- if(!is_numeric($_GET['id']) || $_GET['id']=='')
- die('Fehler bei Parameteruebergabe');
-
- $file = $_GET['id'].'_'.$_GET['uid'].'.pdf';
- $filename = PAABGABE_PATH.$file;
- header('Content-Type: application/octet-stream');
- header('Content-disposition: attachment; filename="'.$file.'"');
- readfile($filename);
- }
- else
- {
- die("Sie haben hierzu keine Berechtigung!");
- }
- exit();
-}
-if($aktion!='zip')
-{
- $s = new studiengang();
- $s->loadArray($rechte->getStgKz($berechtigung_kurzbz),'typ,kurzbz');
-
- echo'
";
- }
-if($stg_kz!='')
-{
- $s=new studiengang();
- if(!$s->load($stg_kz))
- {
- die("Studiengang konnte nicht geladen werden!");
- }
- if($rechte->isBerechtigt($berechtigung_kurzbz, $s->oe_kurzbz))
- {
- $qry="SELECT *
- FROM (SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit
- JOIN campus.tbl_paabgabe 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)
- WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
- AND public.tbl_benutzer.aktiv
- AND lehre.tbl_projektarbeit.note IS NULL
- AND public.tbl_studiengang.studiengang_kz='$stg_kz'";
- $qry.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz='$abgabetyp'";
- $qry.=" ORDER BY tbl_projektarbeit.projektarbeit_id desc) as xy
- ORDER BY nachname";
- //echo $qry." ";
- if(!$erg=$db->db_query($qry))
- {
- die('Fehler beim Laden der Betreuungen!');
- }
- else
- {
- $htmlstr .= "\n";
- $htmlstr .= "\n";
- $htmlstr .= "download Termin Abgabetyp UID
- Vorname
- Nachname ";
- $htmlstr .= "Typ
- Titel ";
- $htmlstr .= " \n";
- $i = 0;
- while($row=$db->db_fetch_object($erg))
- {
- $htmlstr .= "";
- if(file_exists(PAABGABE_PATH.$row->paabgabe_id.'_'.$row->uid.'.pdf'))
- {
- $htmlstr .= " paabgabe_id."&uid=$row->uid' target='_blank'> ";
- }
- else
- {
- $htmlstr .= " ";
- }
- //$htmlstr .= "link ";
- $htmlstr .= "".$datum_obj->formatDatum($row->termin,'d.m.Y')." ";
- $htmlstr .= "$abgabetyp ";
- $htmlstr .= "$row->uid ";
- $htmlstr .= "".$row->vorname." \n";
- $htmlstr .= "".$row->nachname." \n";
- $htmlstr .= "".$row->projekttyp_kurzbz." \n";
- $htmlstr .= "".$row->titel." \n";
- if($aktion=='zip')
- {
- if($zipfile=='')
- {
- $zipfile = $row->paabgabe_id.'_'.$row->uid.'.pdf';
- }
- else
- {
- $zipfile .= " ".$row->paabgabe_id.'_'.$row->uid.'.pdf';
- }
- }
- }
- }
- }
- else
- {
- die("Keine Zugriffsberechtigung!");
- }
-}
-if($zipfile=='')
-{
- ?>
-
-
- Projektabgabe
-
-
-
-
-
-
-
- ";
-}
-else
-{
- //Zip File erstellen
- chdir(PAABGABE_PATH);
- $zipausgabe=tempnam("/tmp", "PAA").".zip";
- exec("zip ".$zipausgabe." ".$zipfile);
- //echo $zipausgabe;
- //echo " zip -r ".$zipausgabe." ".$zipfile;
- if(file_exists($zipausgabe))
- {
- header('Content-Type: application/octet-stream');
- header('Content-disposition: attachment; filename="Abgabe_'.$s->kuerzel.'.zip"');
- echo file_get_contents($zipausgabe);
- unlink($zipausgabe);
- }
- else
- {
- echo " Fehler bei der Dateierstellung!";
- }
-}
+
+ * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
+ * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
+ * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
+ */
+/*******************************************************************************************************
+ * projektabgabe
+ * projektabgabe ermöglicht den Download aller Abgaben eines Stg.
+ * fuer Diplom- und Bachelorarbeiten
+ *******************************************************************************************************/
+
+require_once('../../../config/cis.config.inc.php');
+// ------------------------------------------------------------------------------------------
+// Datenbankanbindung
+// ------------------------------------------------------------------------------------------
+
+require_once('../../../include/functions.inc.php');
+require_once('../../../include/studiengang.class.php');
+require_once('../../../include/datum.class.php');
+require_once('../../../include/benutzerberechtigung.class.php');
+require_once('../../../include/datum.class.php');
+require_once('../../../include/mail.class.php');
+ if (!$db = new basis_db())
+ $db=false;
+$aktion='';
+if(isset($_REQUEST['aktion']))
+{
+ $aktion=$_REQUEST['aktion'];
+}
+$zipfile='';
+$stg_kz=(isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:'');
+if(!is_numeric($stg_kz) && $stg_kz!='')
+ exit();
+
+$abgabetyp=(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:'');
+$termin=(isset($_REQUEST['termin'])?$_REQUEST['termin']:'');
+
+$htmlstr='';
+$datum_obj = new datum();
+$user = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+$berechtigung_kurzbz = 'lehre/abgabetool:download';
+
+if(isset($_GET['id']) && isset($_GET['uid']))
+{
+ if($rechte->isBerechtigt($berechtigung_kurzbz))
+ {
+ if(!is_numeric($_GET['id']) || $_GET['id']=='')
+ die('Fehler bei Parameteruebergabe');
+
+ $file = $_GET['id'].'_'.$_GET['uid'].'.pdf';
+ $filename = PAABGABE_PATH.$file;
+ header('Content-Type: application/octet-stream');
+ header('Content-disposition: attachment; filename="'.$file.'"');
+ readfile($filename);
+ }
+ else
+ {
+ die("Sie haben hierzu keine Berechtigung!");
+ }
+ exit();
+}
+
+if($zipfile=='')
+{
+ ?>
+
+
+ Projektabgabe
+
+
+
+
+
+
+
+
+
+
+
+ loadArray($rechte->getStgKz($berechtigung_kurzbz),'typ,kurzbz');
+
+ echo'";
+ }
+
+##if($stg_kz!='' || $abgabetyp!='' || $termin!='')
+if(isset($_REQUEST['ok']))
+{
+ $s=new studiengang();
+ if($stg_kz!='' && !$s->load($stg_kz))
+ {
+ die("Studiengang konnte nicht geladen werden!");
+ }
+
+ if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt($berechtigung_kurzbz, $s->oe_kurzbz))
+ {
+ $qry="";
+## $qry.="SELECT * FROM (";
+ $qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit
+ JOIN campus.tbl_paabgabe 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)
+ WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
+ AND public.tbl_benutzer.aktiv
+ AND lehre.tbl_projektarbeit.note IS NULL
+ ";
+ if ($stg_kz!='')
+ $qry.=" AND public.tbl_studiengang.studiengang_kz='$stg_kz'";
+ if ($abgabetyp!='')
+ $qry.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz='$abgabetyp'";
+ if ($termin!='')
+ $qry.=" AND campus.tbl_paabgabe.datum='$termin'";
+ $qry.=" ORDER BY nachname ";
+## $qry.=" ORDER BY tbl_projektarbeit.projektarbeit_id desc) as xy ";
+## $qry.=" ORDER BY nachname";
+ if($stg_kz=='' && $abgabetyp=='' && $termin=='')
+ {
+ $qry.=" limit 100 ";
+ }
+ //echo $qry." ";
+ if(!$erg=$db->db_query($qry))
+ {
+ die('Fehler beim Laden der Betreuungen!');
+ }
+ else
+ {
+ $htmlstr .= "\n";
+ $htmlstr .= "\n";
+ $htmlstr .= "download Termin Abgabetyp UID
+ Vorname
+ Nachname ";
+ $htmlstr .= "Typ
+ Titel ";
+ $htmlstr .= " \n";
+ $i = 0;
+ while($row=$db->db_fetch_object($erg))
+ {
+ $htmlstr .= "";
+ if(file_exists(PAABGABE_PATH.$row->paabgabe_id.'_'.$row->uid.'.pdf'))
+ {
+ $htmlstr .= " paabgabe_id."&uid=$row->uid' target='_blank'> ";
+ }
+ else
+ {
+ $htmlstr .= " ";
+ }
+ //$htmlstr .= "link ";
+ $htmlstr .= "".$datum_obj->formatDatum($row->termin,'d.m.Y')." ";
+ $htmlstr .= "".$abgabetyp." ";
+ $htmlstr .= "".$row->uid." ";
+ $htmlstr .= "".$row->vorname." \n";
+ $htmlstr .= "".$row->nachname." \n";
+ $htmlstr .= "".$row->projekttyp_kurzbz." \n";
+ $htmlstr .= "".$row->titel." \n";
+ if($aktion=='zip')
+ {
+ if($zipfile=='')
+ {
+ $zipfile = $row->paabgabe_id.'_'.$row->uid.'.pdf';
+ }
+ else
+ {
+ $zipfile .= " ".$row->paabgabe_id.'_'.$row->uid.'.pdf';
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ die("Keine Zugriffsberechtigung!");
+ }
+}
+
+if($zipfile=='')
+{
+ echo $htmlstr;
+ echo "
+ ";
+}
+else
+{
+ //Zip File erstellen
+ chdir(PAABGABE_PATH);
+ $zipausgabe=tempnam("/tmp", "PAA").".zip";
+ exec("zip ".$zipausgabe." ".$zipfile);
+ //echo $zipausgabe;
+ //echo " zip -r ".$zipausgabe." ".$zipfile;
+ if(file_exists($zipausgabe))
+ {
+ header('Content-Type: application/octet-stream');
+ header('Content-disposition: attachment; filename="Abgabe_'.$s->kuerzel.'.zip"');
+ echo file_get_contents($zipausgabe);
+ unlink($zipausgabe);
+ }
+ else
+ {
+ echo " Fehler bei der Dateierstellung!";
+ }
+}
?>
\ No newline at end of file
diff --git a/cis/private/tools/projektabgabe_autocomplete.php b/cis/private/tools/projektabgabe_autocomplete.php
new file mode 100644
index 000000000..2bd0de249
--- /dev/null
+++ b/cis/private/tools/projektabgabe_autocomplete.php
@@ -0,0 +1,136 @@
+
+ * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
+ * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
+ * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
+ */
+/*******************************************************************************************************
+ * Autocomplete
+ * projektabgabe ermöglicht den Download aller Abgaben eines Stg.
+ * fuer Diplom- und Bachelorarbeiten
+ *******************************************************************************************************/
+ header( 'Expires: -1' );
+ header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
+ header( 'Cache-Control: no-store, no-cache, must-revalidate' );
+ header( 'Pragma: no-cache' );
+ header('Content-Type: text/html;charset=UTF-8');
+
+// ---------------- Vilesci Include Dateien einbinden
+ require_once('../../../config/cis.config.inc.php');
+ include_once('../../../include/basis_db.class.php');
+ require_once('../../../include/benutzerberechtigung.class.php');
+// ------------------------------------------------------------------------------------------
+// Datenbankanbindung
+// ------------------------------------------------------------------------------------------
+
+ if (!$db = new basis_db())
+ die('Datenbank kann nicht geoeffnet werden. Zurück ');
+
+ require_once('../../../include/functions.inc.php');
+ if (!$uid = get_uid())
+ die('Keine UID gefunden ! Zurück ');
+
+ $rechte = new benutzerberechtigung();
+ $rechte->getBerechtigungen($uid);
+ $berechtigung_kurzbz = 'lehre/abgabetool:download';
+ if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt($berechtigung_kurzbz))
+ die('Sie haben hierzu keine Berechtigung ! Zurück ');
+
+// ------------------------------------------------------------------------------------------
+// Initialisierung
+// ------------------------------------------------------------------------------------------
+ $errormsg=array();
+
+// ------------------------------------------------------------------------------------------
+// Parameter Aufruf uebernehmen
+// ------------------------------------------------------------------------------------------
+
+ $stg_kz=trim(isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:'');
+ $abgabetyp=trim(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:'');
+
+ $work=trim(isset($_REQUEST['work'])?$_REQUEST['work']:(isset($_REQUEST['ajax'])?$_REQUEST['ajax']:false));
+ $work=strtolower($work);
+
+# Direktaufruf Test $work='work_termin_select';
+
+// ------------------------------------------------------------------------------------------
+// Datenlesen
+// ------------------------------------------------------------------------------------------
+/* jQuery autocomplete
+lineSeparator = (default value: "\n")
+ The character that separates lines in the results from the backend.
+cellSeparator (default value: "|")
+ The character that separates cells in the results from the backend.
+*/
+ switch ($work)
+ {
+ case 'work_termin_select':
+
+ $qry=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD.MM.YYYY') as termin_anzeige
+ FROM lehre.tbl_projektarbeit
+ JOIN campus.tbl_paabgabe 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)
+ WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
+ AND public.tbl_benutzer.aktiv
+ AND lehre.tbl_projektarbeit.note IS NULL
+ ";
+ if ($stg_kz!='')
+ $qry.=" AND public.tbl_studiengang.studiengang_kz='$stg_kz'";
+ if ($abgabetyp!='')
+ $qry.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz='$abgabetyp'";
+ $qry.=" ORDER BY termin desc";
+
+ $pArt='';
+ $pDistinct=false;
+ $pFields='';
+ $pTable='';
+ $matchcode='';
+ $pWhere='';
+ $pOrder='';
+ $pLimit='';
+ $pSql=$qry;
+ $json=array();
+ if (!$oRresult=$db->SQL($pArt,$pDistinct,$pFields,$pTable,$pWhere,$pOrder,$pLimit,$pSql))
+ {
+ array_push($json, array ('oTermin' => '','oTerminAnzeige' => $db->errormsg ));
+ }
+ else if ($oRresult)
+ {
+ for ($i=0;$i $oRresult[$i]->termin,'oTerminAnzeige' => $oRresult[$i]->termin_anzeige ));
+ }
+ }
+ else
+ {
+ array_push($json, array ('oTermin' => '','oTerminAnzeige' => 'Fehler' ));
+ }
+ echo json_encode($json);
+ break;
+
+ default:
+ echo " Funktion $work fehlt! ";
+ break;
+ }
+ exit();
+?>