, * 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(); if(isset($_GET['course_id'])) $course_id = $_GET['course_id']; if(isset($_GET['term_id'])) $term_id = $_GET['term_id']; if(isset($_GET['short'])) $short = $_GET['short']; $rechte = new benutzerberechtigung($sql_conn); $rechte->benutzerberechtigung($sql_conn); $rechte->getBerechtigungen($user); if(check_lektor($user,$sql_conn)) $is_lector=true; else $is_lector=false; $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 student_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 " "; echo " "; echo "
'' ORDER BY typ, kurzbz"; 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 ''; 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 tbl_lehrveranstaltung.bezeichnung, lehreverzeichnis, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbz FROM public.tbl_student, lehre.tbl_lehrveranstaltung, public.tbl_studiengang WHERE tbl_student.studiengang_kz='$course_id' AND tbl_student.semester='$term_id' AND lehreverzeichnis='$short' AND tbl_student.student_uid='$user' AND tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz AND tbl_lehrveranstaltung.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.semester='$term_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 "
Datei Upload
'; echo '
'; if(!($num_rows_lector_dispatch > 0) && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('lehre') && !$rechte->isBerechtigt('assistenz')) { die('

Es konnten keine Studiengänge definiert werden!

'); } 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' AND tbl_lehrveranstaltung.lehre=true AND tbl_lehrveranstaltung.lehreverzeichnis<>'' 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); if(!($num_rows_lector_dispatch > 0) && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('lehre') && !$rechte->isBerechtigt('assistenz')) die('

Es konnten keine Semester definiert werden!

'); 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') || $rechte->isBerechtigt('assistenz',$course_id)) { $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 AND tbl_lehrveranstaltung.lehreverzeichnis<>''"; } //Fachbereichsberechtigung if($rechte->isBerechtigt('lehre') || $rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) { $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 AND tbl_lehrveranstaltung.lehreverzeichnis<>''"; } $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 '
"; die('

Sie haben keine Berechtigung für diesen Bereich

'); } $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 " "; } ?>
  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 "Max. Uploadgröße (alle Dateien): 15 MB"; 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"