diff --git a/admin/sync/sync_vilesci_portal_benutzerberechtigung.php b/admin/sync/sync_vilesci_portal_benutzerberechtigung.php index 218fb0a0e..8825d5a24 100644 --- a/admin/sync/sync_vilesci_portal_benutzerberechtigung.php +++ b/admin/sync/sync_vilesci_portal_benutzerberechtigung.php @@ -39,7 +39,7 @@ $anzahl_fehler=0; // *********************************** //Mitarbeiter -$qry = 'Select * FROM tbl_userberechtigung left join tbl_fachbereich using(fachbereich_id)'; +$qry = 'Select art, kurzbz, tbl_userberechtigung.studiengang_kz, berechtigung_kurzbz, uid, studiensemester_kurzbz, start, ende FROM tbl_userberechtigung left join tbl_fachbereich using(fachbereich_id)'; if($result = pg_query($conn_vilesci, $qry)) { diff --git a/admin/sync/sync_vilesci_portal_benutzerlvstudiensemester.php b/admin/sync/sync_vilesci_portal_benutzerlvstudiensemester.php index 5cd9f3d4b..b933fa1f2 100644 --- a/admin/sync/sync_vilesci_portal_benutzerlvstudiensemester.php +++ b/admin/sync/sync_vilesci_portal_benutzerlvstudiensemester.php @@ -77,7 +77,7 @@ if($result = pg_query($conn_vilesci, $qry)) } else { - $error_log .= 'Fehler beim auslesen der Lehrveranstaltung_nr\n'; + $error_log .= "Fehler beim Auslesen der Lehrveranstaltung_nr\n.$qry\n"; $anzahl_fehler++; } } diff --git a/admin/sync/sync_vilesci_portal_lehrveranstaltung.php b/admin/sync/sync_vilesci_portal_lehrveranstaltung.php index d6a00e650..e6bfba28e 100644 --- a/admin/sync/sync_vilesci_portal_lehrveranstaltung.php +++ b/admin/sync/sync_vilesci_portal_lehrveranstaltung.php @@ -65,7 +65,7 @@ if($result = pg_query($conn_vilesci, $qry)) $lehrveranstaltung->ects =$row->ects; $lehrveranstaltung->semesterstunden =0; $lehrveranstaltung->anmerkung =''; - $lehrveranstaltung->lehre =($row->aktiv=='t'?true:false); + $lehrveranstaltung->lehre =($row->lehre=='t'?true:false); $lehrveranstaltung->lehreverzeichnis =$row->lehrevz; $lehrveranstaltung->aktiv =($row->aktiv=='t'?true:false); $lehrveranstaltung->planfaktor ='1.0'; diff --git a/admin/sync/sync_vilesci_portal_news.php b/admin/sync/sync_vilesci_portal_news.php index b63495b43..12d16ea46 100644 --- a/admin/sync/sync_vilesci_portal_news.php +++ b/admin/sync/sync_vilesci_portal_news.php @@ -67,9 +67,10 @@ if($result = pg_query($conn_vilesci, $qry)) $news->studiengang_kz =$row->studiengang_kz; $news->verfasser =$row->verfasser; //$news->insertamum =''; - $news->insertvon ='SYNC'; + $news->insertvon =$row->uid; + $news->datum = $row->updateamum; $news->updateamum =$row->updateamum; - //$news->updatevon =$row->updatevon; + $news->updatevon =$row->uid; $qry = "SELECT news_id FROM campus.tbl_news WHERE news_id='$row->news_id'"; if($result1 = pg_query($conn, $qry)) diff --git a/admin/sync/sync_vilesci_portal_stundenplan.php b/admin/sync/sync_vilesci_portal_stundenplan.php index eb2bce302..48eee1979 100644 --- a/admin/sync/sync_vilesci_portal_stundenplan.php +++ b/admin/sync/sync_vilesci_portal_stundenplan.php @@ -139,7 +139,18 @@ if($result = pg_query($conn_vilesci, $qry)) $qry.="'".$row->stundenplandev_id."'"; else $qry.="'".$row->stundenplan_id."'"; + + //fix fuer fehlerhafte Lehrverbaende + if(trim($row->semester)!='') + $verb=$row->verband; + else + $verb=' '; + if(trim($verb)!='') + $gruppe=$row->gruppe; + else + $gruppe=' '; + $qry.=",".myaddslashes($row->unr).",". myaddslashes($row->uid).",". myaddslashes($row->datum).",". @@ -154,8 +165,8 @@ if($result = pg_query($conn_vilesci, $qry)) myaddslashes($lehreinheit_id).",". myaddslashes($row->studiengang_kz).",". myaddslashes($row->semester).",'". - ($row->verband!=''?addslashes($row->verband):' ')."','". - (($row->gruppe!='' && $row->gruppe!=0)?addslashes($row->gruppe):' ')."');"; + ($verb!=''?addslashes($verb):' ')."','". + (($gruppe!='' && $gruppe!=0)?addslashes($gruppe):' ')."');"; if(pg_query($conn,$qry)) { $anzahl_eingefuegt++; diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php index 12f18fb38..a3e22ac63 100644 --- a/cis/private/lehre/lesson.php +++ b/cis/private/lehre/lesson.php @@ -1,5 +1,25 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ require_once('../../config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/benutzerberechtigung.class.php'); @@ -87,7 +107,7 @@   '; - $qry = "SELECT vorname, nachname, tbl_benutzer.uid as uid FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, tbl_benutzer, tbl_person WHERE tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND tbl_person.person_id=tbl_benutzer.person_id AND lehrveranstaltung_id='$lvid' AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND tbl_person.aktiv=true ORDER BY nachname, vorname"; + $qry = "SELECT distinct vorname, nachname, tbl_benutzer.uid as uid FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, tbl_benutzer, tbl_person WHERE tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND tbl_person.person_id=tbl_benutzer.person_id AND lehrveranstaltung_id='$lvid' AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND tbl_person.aktiv=true AND studiensemester_kurzbz='$angezeigtes_stsem' ORDER BY nachname, vorname"; $result = pg_exec($sql_conn, $qry); $num_rows_result = pg_num_rows($result); diff --git a/cis/private/lehre/pinboard.php b/cis/private/lehre/pinboard.php index 2e42bd8a2..a5624cfd0 100644 --- a/cis/private/lehre/pinboard.php +++ b/cis/private/lehre/pinboard.php @@ -1,4 +1,24 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ /** * Pinboard * Zeigt alle Pinboardeintraege an. Am rechten Rand werden @@ -48,8 +68,8 @@ foreach ($news_obj->result as $row) { $zaehler++; - if($row->updateamum!='') - $datum = date('d.m.Y - h:i',strtotime(strftime($row->updateamum))); + if($row->datum!='') + $datum = date('d.m.Y',strtotime(strftime($row->datum))); else $datum=''; @@ -323,7 +343,7 @@ { while($row_stdv = pg_fetch_object($result_course_stdv)) { - echo "$row_stdv->titelpre $row_stdv->vorname $row_stdv->nachname $row->titelpost
"; + echo "$row_stdv->titelpre $row_stdv->vorname $row_stdv->nachname $row_stdv->titelpost
"; } } else diff --git a/cis/private/lehre/pinboard_show.php b/cis/private/lehre/pinboard_show.php index 3f660a07f..75df826c9 100644 --- a/cis/private/lehre/pinboard_show.php +++ b/cis/private/lehre/pinboard_show.php @@ -1,11 +1,31 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ require_once('../../config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/news.class.php'); //Connection Herstellen if(!$conn = pg_pconnect(CONN_STRING)) - die("Fehler beim oeffnen der Datenbankverbindung"); + die('Fehler beim oeffnen der Datenbankverbindung'); $user = get_uid(); @@ -70,7 +90,7 @@ getnews(MAXNEWSALTER,$course_id, $term_id); + $news_obj->getnews(MAXNEWSALTER,$course_id, $term_id, true); $i=0; foreach($news_obj->result as $row) @@ -83,8 +103,8 @@ else echo ''; - if($row->updateamum!='') - $datum = date('d.m.Y - h:i',strtotime(strftime($row->updateamum))); + if($row->datum!='') + $datum = date('d.m.Y',strtotime(strftime($row->datum))); else $datum=''; @@ -120,4 +140,4 @@ - + \ No newline at end of file diff --git a/cis/private/lehre/upload.php b/cis/private/lehre/upload.php new file mode 100644 index 000000000..957826328 --- /dev/null +++ b/cis/private/lehre/upload.php @@ -0,0 +1,1360 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + + require_once('../../../include/functions.inc.php'); + require_once('../../config.inc.php'); + require_once('../../../include/benutzerberechtigung.class.php'); + + //Connection Herstellen + if(!$sql_conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); + + $user = get_uid(); + + $rechte = new benutzerberechtigung($sql_conn); + $rechte->benutzerberechtigung($sql_conn); + $rechte->getBerechtigungen($user); + + if(check_lektor($user,$sql_conn)) + $is_lector=true; + + $upload_root = "../../../documents"; + + if(isset($subdir)) + { + if(substr_count($subdir, '..') > 0 || substr_count($subdir, '.') > 0) + { + unset($subdir); + } + } + + if($is_lector) + { + $islector = true; + } + else + { + $sql_query = "SELECT uid FROM public.tbl_student WHERE student_uid='$user'"; + if($result_student = pg_query($sql_conn, $sql_query)) + { + $num_rows_student = pg_num_rows($result_student); + + if(!($num_rows_student > 0)) + { + die('

Der Benutzer '.$user.' konnte nicht zugeordnet werden!

'); + } + } + else + die('

Der Benutzer '.$user.' konnte nicht zugeordnet werden!

'); + + $islector = false; + } +?> + + + + + + + + + + + + + + + + + +
  + + + + + + + + "; + + echo ""; + ?> + + + + + + + + + kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmDir(this);\">"; + } + else + { + echo "kuerzel\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmDir(this);\">"; + } + } + else if(isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + + while($entry = $dest_dir->read()) + { + if($entry != "." && $entry != ".." && @is_dir($dest_dir->path.'/'.$entry)) + { + $dir_empty = false; + $check_state = '_check_state_'.$dir_count; + + if(isset($$check_state)) + { + echo ""; + + $sub_dir_filesize = 0; + $sub_dir_filecount = 0; + + $dir_count++; + } + } + + if(isset($delete_dir)) + { + unset($delete_dir); + die(""); + } + + if(isset($b_refresh_dir)) + { + die(""); + } + + if(!isset($dir_empty) || $dir_empty == true) + { + echo ""; + } + + echo ""; + } + else + { + $dir_count = 0; + + echo ""; + } + ?> + + + + + + + + + path); + + if(isset($dest_dir) && $dest_dir != "") + { + $file_count = 0; + + if(isset($row_lesson) && !isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo "kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmFile(this);\">"; + } + else + { + echo "kuerzel\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmFile(this);\">"; + } + } + else if($short) + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + + while($entry = $dest_dir->read()) + { + if(!@is_dir($dest_dir->path.'/'.$entry) && substr($entry,0,1)!=".") + { + $null_file = false; + $check_state = '_check_state_'.$file_count; + + if(isset($$check_state)) + { + echo ""; + + @$total_filesize += $cur_filesize; + + $file_count++; + } + } + + if(!isset($total_filesize)) + { + $total_filesize = 0; + } + + if(isset($delete_file)) + { + unset($delete_file); + die(""); + } + + if(isset($b_refresh_files)) + { + die(""); + } + + if(!isset($null_file) || $null_file == true) + { + echo ""; + } + else + { + echo ""; + } + + echo ""; + } + else + { + $file_count = 0; + + echo ""; + echo ""; + } + + @$total_filecount += $file_count; + + if(!isset($total_filesize)) + { + $total_filesize = 0; + } + ?> + + + + + Fehler: Sie haben versucht eine Datei auf den Server zu laden deren Dateiformat nicht unterstützt wird.'; + } + else if(isset($unallowed_rename) && $unallowed_rename == true) + { + unset($unallowed_rename); + + echo ''; + } + if(isset($no_overwrite_error) && $no_overwrite_error == true) + { + unset($no_overwrite_error); + echo ''; + } + + ?> +
+ + + + + '; + echo ''; + echo ''; + } + else + { + //$sql_query = "SELECT DISTINCT ON(bz2, lehrevz) tbl_student.studiengang_kz AS id, kurzbzlang, lehrevz AS kuerzel, (tbl_lehrfach.bezeichnung || '; XX') AS bezeichnung, SUBSTRING(tbl_lehrfach.bezeichnung || '; XX', 1, CHAR_LENGTH(tbl_lehrfach.bezeichnung || '; XX') - 4) AS bz2 FROM tbl_lehrfach, public.tbl_studiengang, public.tbl_student WHERE tbl_student.studiengang_kz='$course_id' AND tbl_student.semester='$term_id' AND lehrevz='$short' AND tbl_student.uid='$user' AND tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz LIMIT 1"; + $sql_query = "SELECT DISTINCT bezeichnung, lehreverzeichnis, kurzbz FROM tbl_student, tbl_lehrveranstaltung, tbl_studiengang WHERE tbl_student.studiengang_kz='$course_id' AND tbl_student.semester='$term_id' AND lehreverzeichnis='$short' AND tbl_student.uid='$user' AND tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz AND tbl_lehrveranstaltung.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.semester='$course_id' AND tbl_lehrveranstaltung.lehre=true LIMIT 1"; + if(!$result_path_elements = pg_query($sql_conn, $sql_query)) + die('

Der Benutzer '.$user.' konnte nicht zugeordnet werden!

'); + + if(!$result_path_elements) + die('

Der Benutzer '.$user.' konnte nicht zugeordnet werden!

'); + + $num_rows_path_elements = pg_numrows($result_path_elements); + + if(!($num_rows_path_elements > 0)) + { + echo ""; + die('

Es konnten keine Pfadeinträge gefunden werden.

'); + echo ""; + } + + $row = pg_fetch_object($result_path_elements, 0); + + // Changed by ffe, 20050411 - fixed a bug while trying to upload in dirs with an underline in it + + //$uploaddir = strtolower($row->kurzbzlang).'/'.strtolower($row->kurzbzlang).'_'.$term_id.'/'.strtolower($row->kurzbzlang).'_'.$term_id.'_'.str_replace("_", "", strtolower($row->kuerzel)).'/'.strtolower($row->kurzbzlang).'_'.$term_id.'_'.str_replace("_", "", strtolower($row->kuerzel)).'_upload'; + $uploaddir = strtolower($row->kurzbz).'/'.$term_id.'/'.strtolower($row->lehreverzeichnis).'/upload'; + } + ?> + + "; + echo " "; + echo " "; + echo " "; + echo "
Datei Upload
'; + echo '
'; + echo ''; + + if(!($num_rows_lector_dispatch > 0) && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('lehre')) + { + die('

Es konnten keine Studiengänge definiert werden!

'); + } + + echo ''; + echo 'Studiengang: '; + echo "\n\n"; + echo ' '; + + + if(!isset($course_id)) + { + foreach ($stg_arr as $key=>$elem) + { + $course_id=$key; + $course_short = $elem; + break; + } + } + + //$sql_query = "SELECT DISTINCT ON(semester) semester FROM lehre.tbl_lehrfachzuteilung WHERE lektor_uid='$user' AND NOT(lehrfachzuteilung_kurzbz='') AND studiengang_kz='$course_id' ORDER BY semester"; + $sql_query = "SELECT DISTINCT semester FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung WHERE tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND mitarbeiter_uid='$user' AND studiengang_kz='$course_id' ORDER BY semester"; + if(!$result_lector_dispatch = pg_query($sql_conn, $sql_query)) + die('Fehler beim Lesen aus der Datenbank'); + + $num_rows_lector_dispatch = pg_num_rows($result_lector_dispatch); + + echo ''; + + if(!($num_rows_lector_dispatch > 0) && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('lehre')) + die('

Es konnten keine Semester definiert werden!

'); + + echo ''; + + echo ''; + echo 'Semester: '; + echo "\n\n"; + echo ' '; + + if(!isset($term_id)) + $term_id=$sem_arr[0]; + + //$sql_query = "SELECT DISTINCT ON(bz2, lehrfachzuteilung_kurzbz) lehrfachzuteilung_kurzbz AS kuerzel, (bezeichnung || '; XX') AS bezeichnung, SUBSTRING(bezeichnung || '; XX', 1, CHAR_LENGTH(bezeichnung || '; XX') - 4) AS bz2 FROM lehre.tbl_lehrfachzuteilung WHERE studiengang_kz='$course_id' AND semester='$term_id' AND NOT(lehrfachzuteilung_kurzbz='') AND lektor_uid='$user' ORDER BY bz2, lehrfachzuteilung_kurzbz"; + //Nur Lehrfachzuteilungen + //$sql_query = "SELECT DISTINCT lehrevz AS kuerzel, (bezeichnung || '; XX') AS bezeichnung, SUBSTRING(bezeichnung || '; XX', 1, CHAR_LENGTH(bezeichnung || '; XX') - 4) AS bz2 FROM tbl_lehrfach Join tbl_lehrveranstaltung using (lehrfach_nr) WHERE tbl_lehrfach.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.semester='$term_id' AND lektor='$user' AND NOT(lehrevz='')"; + $sql_query = "SELECT DISTINCT lehreverzeichnis as kuerzel, tbl_lehrveranstaltung.bezeichnung FROM + lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung + WHERE tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND + tbl_lehreinheitmitarbeiter.mitarbeiter_uid='$user' AND + tbl_lehrveranstaltung.semester='$term_id' AND + tbl_lehrveranstaltung.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.lehre=true"; + //Admin und Lehreberechtigung + if($rechte->isBerechtigt('admin',$course_id) || $rechte->isBerechtigt('lehre',$course_id) || $rechte->isBerechtigt('lehre',null,null,'0')) + { + $sql_query = "SELECT DISTINCT lehreverzeichnis AS kuerzel, bezeichnung FROM lehre.tbl_lehrveranstaltung WHERE studiengang_kz='$course_id' AND semester='$term_id' AND tbl_lehrveranstaltung.lehre=true"; + } + //Fachbereichsberechtigung + if($rechte->isBerechtigt('lehre') || $rechte->isBerechtigt('admin')) + { + $arr=$rechte->getFbKz(); + $ids='-1'; + foreach ($arr as $elem) + $ids.=",'$elem'"; + $sql_query = $sql_query . " UNION SELECT DISTINCT lehreverzeichnis AS kuerzel, tbl_lehrveranstaltung.bezeichnung + FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach + WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehrveranstaltung.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.semester='$term_id' AND fachbereich_kurzbz in ($ids) AND tbl_lehrveranstaltung.lehre=true"; + } + $sql_query .= ' ORDER BY bezeichnung, kuerzel'; + //LEHRFAECHER + + if(!$result_lector_dispatch = pg_query($sql_conn, $sql_query)) + die('

Es konnten keine Gegenstände definiert werden!

'); + + $num_rows_lector_dispatch = pg_num_rows($result_lector_dispatch); + //echo $sql_query; + echo ''; + + if(!($num_rows_lector_dispatch > 0)) + { + die('

Es konnten keine Gegenstände definiert werden!

'); + } + + echo ''; + echo 'Gegenstand: '; + echo "\n\n"; + echo '
'; + echo '
+ + + "; + echo " "; + echo " "; + echo " "; + } + ?> +
  Dateien automatisch überschreiben
+ + +
+ kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\">"; + } + else + { + echo "
kuerzel\" enctype=\"multipart/form-data\">"; + } + } + else if(isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + + echo "

"; + + for($i = 0; $i < $numoffile; $i++) + { + $j = $i + 1; + + echo "
"; + echo " $j. Datei: "; + echo " "; + echo " "; + echo "
+ "; + echo "
"; + echo " "; + echo "  
"; + ?> + +
+

 Neues + Verzeichnis erstellen:

+

+ path.'/'.$new_dir_name_text) && !@file_exists($dest_create_dir->path.'/'.$new_dir_name_text) && $new_dir_name_text != "") + { + @mkdir($dest_create_dir->path.'/'.$new_dir_name_text); + exec('chmod 775 "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + + if($islector) + { + exec('sudo chown www-data "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + } + else + { + exec('sudo chown www-data "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + } + } + } + + unset($new_dir_name_text); + } + + unset($create_dir); + } + + if(isset($row_lesson) && !isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo "

kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\">"; + } + else + { + echo "kuerzel\" enctype=\"multipart/form-data\">"; + } + } + else if(isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + + echo " Verzeichnisname: "; + echo " "; + echo ""; + echo "
+ '; + } + else + { + // XXX + + if(isset($short)) + { + echo ''; + } + else + { + echo ''; + } + } + } + else + { + echo ''; + } + ?> + Unterordner von + :
Auswählen + Name + Aktionen + # Dateien + + KB Gespeichert +
  "; + } + else + { + echo "
  "; + } + + if(isset($row_lesson) && !isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo "kuerzel&subdir=$subdir/$entry\"> $entry "; + } + else + { + echo "kuerzel&subdir=$entry\"> $entry "; + } + } + else if(isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo " $entry "; + } + else + { + echo " $entry "; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo " $entry "; + } + else + { + echo " $entry "; + } + } + + $new_dir_name_ = "new_dir_name".$dir_count; + + if(isset($rename_dir) && isset($$check_state)) + { + echo " "; + } + else if(isset($confirm_rename) && isset($$check_state)) + { + if(isset($$new_dir_name_) && $$new_dir_name_ != "") + { + if(!@is_dir($dest_dir->path.'/'.$$new_dir_name_) && !@file_exists($dest_dir->path.'/'.$$new_dir_name_)) + { + rename($dest_dir->path.'/'.$entry, $dest_dir->path.'/'.$$new_dir_name_); + + $b_refresh_dir = true; + + unset($$check_state); + } + else + { + unset($$check_state); + + $b_refresh_dir = true; + } + } + + echo " "; + } + else if(isset($delete_dir) && isset($$check_state)) + { + if(@is_dir($dest_dir->path.'/'.$entry)) + { + writeCISlog('DELETE', 'rm -r "'.$dest_dir->path.'/'.$entry.'"'); + exec('rm -r "'.$dest_dir->path.'/'.$entry.'"'); + } + + unset($$check_state); + } + else + { + if(@is_dir($dest_dir->path.'/'.$entry)) + { + $tmp_dir_entry = dir($dest_dir->path.'/'.$entry); + } + + echo " "; + } + + if(isset($tmp_dir_entry)) + { + while($sub_entry = $tmp_dir_entry->read()) + { + if(!@is_dir($tmp_dir_entry->path.'/'.$sub_entry) && $sub_entry != "") + { + @$sub_dir_filesize += round(filesize($tmp_dir_entry->path.'/'.$sub_entry) / 1024); + @$sub_dir_filecount++; + } + } + } + + if(!isset($sub_dir_filesize)) + { + $sub_dir_filesize = 0; + } + + if(!isset($sub_dir_filecount)) + { + $sub_dir_filecount = 0; + } + + @$total_filesize += $sub_dir_filesize; + @$total_filecount += $sub_dir_filecount; + + echo "$sub_dir_filecount + + $sub_dir_filesize + +
"; + echo "  Es wurden keine Ordner gefunden."; + echo "
"; + echo "  Es wurden keine Ordner gefunden / Hauptordner nicht gefunden."; + echo "
'; + } + else + { + // XXX + + if(isset($short)) + { + echo ''; + } + else + { + echo ''; + } + } + } + else + { + echo ''; + } + ?> + Dateien im Ordner + :
Auswählen + Name + Aktionen + Größe (KB) + + Zuletzt modifiziert
  "; + } + else + { + echo "
  "; + } + if(!isset($link_cut)) + $link_cut=''; + $link_path = substr($dest_dir->path, strlen($link_cut)).'/'.urlencode($entry); + //+ durch %20 ersetzten damit Files mit leerzeichen geoeffnet werden koennen + $link_path = str_replace("+","%20",$link_path); + echo "  $entry "; + + $new_file_name_ = "new_file_name".$file_count; + + if(isset($rename_file) && isset($$check_state)) + { + echo " "; + } + else if(isset($confirm_rename) && isset($$check_state)) + { + if(isset($$new_file_name_) && $$new_file_name_ != "") + { + if(!@file_exists($dest_dir->path.'/'.$$new_file_name_) && !@is_dir($dest_dir->path.'/'.$$new_file_name_)) + { + if(!stristr($$new_file_name_, '.php') && !stristr($$new_file_name_, '.cgi') && !stristr($$new_file_name_, '.pl')) + { + rename($dest_dir->path.'/'.$entry, $dest_dir->path.'/'.$$new_file_name_); + + $b_refresh_files = true; + + unset($$check_state); + } + else + { + $unallowed_rename = true; + } + } + else + { + unset($$check_state); + + $b_refresh_files = true; + } + } + + echo " "; + } + else if(isset($delete_file) && isset($$check_state)) + { + if(!@is_dir($dest_dir->path.'/'.$entry)) + { + writeCISlog('DELETE', 'rm -r "'.$dest_dir->path.'/'.$entry.'"'); + exec('rm -r "'.$dest_dir->path.'/'.$entry.'"'); + } + + unset($$check_state); + } + else + { + echo " "; + } + + $cur_filesize = round(filesize($dest_dir->path.'/'.$entry) / 1024); + $file_last_access = date("j F Y, H:i:s", filemtime($dest_dir->path.'/'.$entry)); + + echo "$cur_filesize + + $file_last_access + +
"; + echo "  Es wurden keine Dateien gefunden."; + echo "
 
"; + echo "  Es wurden keine Dateien gefunden / Hauptordner nicht gefunden."; + echo "
Dateien in Ordner(n), KB gesamt.
Fehler: Sie haben versucht das Formatattribut einer Datei in ein neues zu ändern welches nicht unterstützt wird.Fehler: Die Datei existiert bereits! Bitte verwenden Sie die Option "Dateien automatisch überschreiben"
+ + + + + + diff --git a/cis/private/lehre/zipdownload.php b/cis/private/lehre/zipdownload.php new file mode 100644 index 000000000..766b1e704 --- /dev/null +++ b/cis/private/lehre/zipdownload.php @@ -0,0 +1,85 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Erstellt ein Zip Archiv des Download-Bereichs und leitet dann zum Download weiter + * @create 20-03-2006 + * Aufruf: zipdownload.php?stg=255&sem=1$short=eng + */ + + require_once('../../config.inc.php'); + require_once('../../../include/studiengang.class.php'); + require_once('../../../include/functions.inc.php'); + + //Connection zur DB herstellen + if(!$conn = pg_pconnect(CONN_STRING)) + { + writeCISlog('STOP'); + die("Fehler beim herstellen der DB Verbindung"); + } + + //Gueltigkeit der Parameter pruefen + if(!isset($_GET['stg']) || !is_numeric($_GET['stg'])) + { + writeCISlog('STOP'); + die("Fehler bei der Parameteruebergabe"); + } + + if(!isset($_GET['sem']) || !is_numeric($_GET['sem'])) + { + writeCISlog('STOP'); + die("Fehler bei der Parameteruebergabe"); + } + + if(!isset($_GET['short']) || strstr("..",$_GET['short'])) + { + writeCISlog('STOP'); + die("Fehler bei der Parameteruebergabe"); + } + + $stg = $_GET['stg']; + $sem = $_GET['sem']; + $short = $_GET['short']; + + //Studiengangskuerzel holen + $stg_obj = new studiengang($conn); + $stg_obj->load($stg); + + $kurzbz = strtolower($stg_obj->kurzbz); + + //Pfade bauen + $pfad = '../../../documents/'.$kurzbz.'/'.$sem.'/'.$short.'/download/'; + $filename = $kurzbz.'_'.$sem.'_'.$short.'_download.zip'; + $pfad2 = '../../../documents/'.$kurzbz.'/'.$sem.'/'.$short.'/'; + + //Pfad wechseln + chdir($pfad); + + //File loeschen falls es existiert + if(file_exists($filename)) + exec("rm $filename"); + + //Zip File erstellen + exec("zip -r ../".$filename." ./*"); + + //Auf Zip File Verweisen + header("Location: $pfad2$filename"); +?> \ No newline at end of file diff --git a/cis/private/tools/news_entry.php b/cis/private/tools/news_entry.php index b5910dba6..0561d84b8 100644 --- a/cis/private/tools/news_entry.php +++ b/cis/private/tools/news_entry.php @@ -1,8 +1,28 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + require_once('../../config.inc.php'); + require_once('../../../include/functions.inc.php'); + require_once('../../../include/benutzerberechtigung.class.php'); + require_once('../../../include/news.class.php'); //Connection Herstellen if(!$sql_conn = pg_pconnect(CONN_STRING)) @@ -52,8 +72,10 @@ $news->text = $news_message; $news->studiengang_kz = '0'; $news->semester = null; + $news->datum = $datum; $news->uid=$user; $news->updatevon=$user; + $news->updateamum=date('Y-m-d'); $news->new=false; if($news->save()) @@ -80,6 +102,8 @@ $news->updatevon=$user; $news->semester = null; $news->uid = $user; + $news->updateamum=date('Y-m-d'); + $news->datum=$datum; $news->new=true; if($news->save()) @@ -211,6 +235,7 @@ Verfasser: > + Sichtbar ab: datum))); else echo date('d.m.Y'); ?>"> Titel: diff --git a/cis/private/tools/news_show.php b/cis/private/tools/news_show.php index d41068381..3226ad6ff 100644 --- a/cis/private/tools/news_show.php +++ b/cis/private/tools/news_show.php @@ -1,3 +1,25 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +?> @@ -26,7 +48,7 @@ require_once('../../../include/functions.inc.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/news.class.php'); - + //Connection Herstellen if(!$sql_conn = pg_pconnect(CONN_STRING)) die('Fehler beim öffnen der Datenbankverbindung'); @@ -78,9 +100,9 @@ getnews(MAXNEWSALTER,0,null); + $news->getnews(MAXNEWSALTER,0,null, true); $zaehler=0; $i=0; @@ -88,7 +110,7 @@ { $i++; $zaehler++; - $datum = date('d.m.Y - h:i',strtotime(strftime($row->updateamum))); + $datum = date('d.m.Y',strtotime(strftime($row->datum))); echo ""; @@ -104,7 +126,7 @@ echo '
'; echo ' '; echo ' '; echo ' '; echo '
'; - echo $datum.' '.$row->verfasser; + echo $datum.' '.$row->verfasser; echo ' '; echo ' Editieren, Löschen'; @@ -115,7 +137,7 @@ echo '
'; echo ' '.$row->betreff.'
'.$row->text.''; - echo ""; + echo ''; echo ''; echo '  '; echo ''; diff --git a/cis/public/news.php b/cis/public/news.php index c8f864dd1..30333bf42 100644 --- a/cis/public/news.php +++ b/cis/public/news.php @@ -1,4 +1,24 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ require_once('../config.inc.php'); require_once('../../include/news.class.php'); @@ -37,7 +57,7 @@ { $zaehler++; //no comment - $datum = date('d.m.Y - h:i',strtotime(strftime($row->updateamum))); + $datum = date('d.m.Y',strtotime(strftime($row->datum))); echo $datum.' '.$row->verfasser.'

'.$row->betreff.'
'.$row->text.'


'; diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php index d097d15ee..91d075576 100644 --- a/include/benutzerberechtigung.class.php +++ b/include/benutzerberechtigung.class.php @@ -179,7 +179,7 @@ class benutzerberechtigung } else { - $this->errormsg = 'Fehler beim Speichern des Feedbacks:'.$qry; + $this->errormsg = 'Fehler beim Speichern der Benutzerberechtigung:'.$qry; return false; } } diff --git a/include/news.class.php b/include/news.class.php index 20912e668..b54711eec 100644 --- a/include/news.class.php +++ b/include/news.class.php @@ -35,6 +35,7 @@ class news var $uid; // @var varchar(16) var $studiengang_kz; // @var integer var $verfasser; // @var varchar(64) + var $datum; // @date var $updateamum; // @var timestamp var $updatevon=0; // @var string var $insertamum; // @var timestamp @@ -77,6 +78,7 @@ class news $news_obj->uid = $row->uid; $news_obj->studiengang_kz=$row->studiengang_kz; $news_obj->verfasser = $row->verfasser; + $news_obj->datum = $row->datum; $news_obj->insertamum=$row->insertamum; $news_obj->insertvon=$row->insertvon; $news_obj->updateamum=$row->updateamum; @@ -92,7 +94,7 @@ class news // * als $maxalter Tage sind // * @param $maxalter // ********************************** - function getnews($maxalter, $studiengang_kz, $semester) + function getnews($maxalter, $studiengang_kz, $semester, $all=false) { if(!is_numeric($maxalter) || !is_numeric($studiengang_kz) || ($semester!='' && !is_numeric($semester))) { @@ -102,16 +104,21 @@ class news if($maxalter!=0) { - $interval = "(now()-updateamum)conn, $qry)) { while($row = pg_fetch_object($result)) @@ -124,6 +131,7 @@ class news $newsobj->betreff = $row->betreff; $newsobj->text = $row->text; $newsobj->verfasser = $row->verfasser; + $newsobj->datum = $row->datum; $newsobj->updateamum = $row->updateamum; $newsobj->updatevon = $row->updateamum; $newsobj->insertamum = $row->insertamum; @@ -171,6 +179,7 @@ class news $this->uid = $row->uid; $this->studiengang_kz = $row->studiengang_kz; $this->verfasser = $row->verfasser; + $this->datum = $row->datum; $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; $this->updateamum = $row->updateamum; @@ -254,7 +263,7 @@ class news { //Neuen Datensatz anlegen - $qry = 'INSERT INTO campus.tbl_news (betreff, text, semester, uid, studiengang_kz, verfasser, insertamum, insertvon, + $qry = 'INSERT INTO campus.tbl_news (betreff, text, semester, uid, studiengang_kz, verfasser,datum, insertamum, insertvon, updateamum, updatevon) VALUES ('. $this->addslashes($this->betreff).', '. $this->addslashes($this->text).', '. @@ -262,9 +271,10 @@ class news $this->addslashes($this->uid).', '. $this->addslashes($this->studiengang_kz).', '. $this->addslashes($this->verfasser).', '. + $this->addslashes($this->datum).', '. $this->addslashes($this->insertamum).', '. - $this->addslashes($this->insertvon).', now(),'. - //$this->addslashes($this->updateamum).', '. + $this->addslashes($this->insertvon).', '. + $this->addslashes($this->updateamum).', '. $this->addslashes($this->updatevon).'); '; } @@ -286,13 +296,14 @@ class news 'uid='.$this->addslashes($this->uid).', '. 'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '. 'verfasser='.$this->addslashes($this->verfasser).', '. + 'datum='.$this->addslashes($this->datum).', '. 'insertamum='.$this->addslashes($this->insertamum).', '. 'insertvon='.$this->addslashes($this->insertvon).', '. - 'updateamum=now(),'. //'.$this->addslashes($this->updateamum).', '. + 'updateamum='.$this->addslashes($this->updateamum).', '. 'updatevon='.$this->addslashes($this->updatevon).' '. 'WHERE news_id = '.$this->addslashes($this->news_id).';'; } - echo $qry; + if(pg_query($this->conn, $qry)) { /*//Log schreiben