From bcbe29f15cb6c0d42f3f54ee9a12c6d3ffc9fe1b Mon Sep 17 00:00:00 2001 From: Gerald Simane Date: Thu, 28 May 2009 13:18:41 +0000 Subject: [PATCH] --- cis/private/lehre/upload.php | 2833 +++++++++++++++++----------------- 1 file changed, 1420 insertions(+), 1413 deletions(-) diff --git a/cis/private/lehre/upload.php b/cis/private/lehre/upload.php index 285f8331d..978c988e9 100644 --- a/cis/private/lehre/upload.php +++ b/cis/private/lehre/upload.php @@ -1,1413 +1,1420 @@ -, - * 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ählenNameAktionen# DateienKB 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ählenNameAktionenGröß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"
- - - - - - +, + * 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 lehreverzeichnis='$short' AND tbl_student.studiengang_kz='$course_id' AND tbl_student.semester='$term_id' AND tbl_student.student_uid='$user' AND tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz AND tbl_lehrveranstaltung.studiengang_kz=tbl_student.studiengang_kz AND tbl_lehrveranstaltung.semester=tbl_student.semester 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)) + { + // Pruefen ob dieser Kurs ein Wahlfach ist + $sql_query = "SELECT DISTINCT vw_student_lehrveranstaltung.bezeichnung, vw_student_lehrveranstaltung.lehreverzeichnis, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbz FROM campus.vw_student_lehrveranstaltung , public.tbl_studiengang WHERE vw_student_lehrveranstaltung.lehre=true AND vw_student_lehrveranstaltung.studiengang_kz='".addslashes($course_id)."' AND vw_student_lehrveranstaltung.semester='".addslashes($term_id)."' AND vw_student_lehrveranstaltung.lehreverzeichnis='".addslashes($short)."' AND vw_student_lehrveranstaltung.uid='".addslashes($user)."' AND tbl_studiengang.studiengang_kz=vw_student_lehrveranstaltung.studiengang_kz 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ählenNameAktionen# DateienKB 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ählenNameAktionenGröß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"
+ + + + + +