holeDaten($query); $row = $_db->holeZeile(); header('Content-Type: application/pdf'); header('Content-Length: '.$row['groesse']); header('Content-Disposition: attachment; filename="'.utf8_encode($row['name']).'"'); readfile(PFAD_DATEIEN.$row['systemname']); exit; } $_seite = 64; $erlaubt = pruefeRechte('s_dateien'); $_tmpl->assign('ueberschrift','Dateien'); if(!$erlaubt){ $_inh = T_KEINZUGRIFF; } else{ # benoetigte Funktionen und Klassen laden require_once('class/dateien.inc.php'); $dat = new dateien($_db,$_tmpl,true); $_tmpl->assign('dateisymbole',$_einst['dateisystem']['dateisymbole']); $_tmpl->assign('klickaufdatei',$_einst['dateisystem']['klickaufdatei']); $_tmpl->assign('root',in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])); if(isset($_GET['file']) and ctype_digit($_GET['file'])){ $_GET['aktion'] = isset($_GET['aktion'])?$_GET['aktion']:''; $query = "SELECT d.id, DATE_FORMAT(angelegt,'%e. %M %Y - %H:%i') as angelegt, userid, CONCAT(nachname,', ',vorname) as username, gruppenid, r.bezeichnung, DATE_FORMAT(letzteaenderung,'%e. %M %Y - %H:%i') as letzteaenderung, rechte as originalrechte, dateiname as name, typ, systemname, groesse, verzeichnisid as verzeichnis, beschreibung FROM ".DB_PREFIX."dateien as d, ".DB_PREFIX."mitglieder as m, ".DB_PREFIX."rechtegruppen as r WHERE d.id = ".$_GET['file']." and m.id = d.userid and r.id = d.gruppenid"; $_db->holeDaten($query); if($_db->ergebnis['anzahl'] != 1){ $_inh .= T_KEINDATENSATZ; $_GET['aktion'] = '_dummy'; } else{ $daten = $_db->holeZeile(); $daten['rechte'] = $dat->ermittleRechte($daten['originalrechte'], $daten['userid'], $daten['gruppenid']); } if($_db->ergebnis['anzahl'] == 1 and !$daten['rechte']['r']){ $_inh .= T_KEINZUGRIFF; } else{ switch($_GET['aktion']){ case '_dummy': break; case 'herunterladen': $mime = isset($dat->dateitypen[$daten['typ']])?$dat->dateitypen[$daten['typ']][0]:'text/plain'; header('Content-Type: '.$mime); header('Content-Length: '.$daten['groesse']); header('Content-Disposition: attachment; filename="'.utf8_encode($daten['name']).'"'); readfile(PFAD_DATEIEN.$daten['systemname']); exit; case 'loeschen': if(!$daten['rechte']['x']){ $_inh .= T_KEINZUGRIFF; break; } if(!isset($_GET['sicher'])){ $_tmpl->assign('frage','Soll die Datei wirklich gelöscht werden?'); $_tmpl->assign('query','file='.$_GET['file'].'&aktion=loeschen'); $_tmpl->assign('neinquery','file='.$_GET['file']); $_tmpl->assign('url', '/sonstiges/dateien.html'); $_inh .= $_tmpl->fetch('tools/9902.loeschfrage.inc.html').'
'; } else{ unlink(PFAD_DATEIEN.$daten['systemname']); $query = "DELETE FROM ".DB_PREFIX."dateien WHERE id = ".text_format($_GET['file'],'db').""; $_db->fuehreQueryAus($query); $qs = ($daten['verzeichnis']==0 or $daten['verzeichnis']==$_SESSION['user']['homeverzeichnis'])?'':'?dir='.$daten['verzeichnis']; weiterleiten('/sonstiges/dateien.html'.$qs,'Die Datei wurde erfolgreich gelöscht'); } break; case 'aendern': if(!$daten['rechte']['w']){ $_inh .= T_KEINZUGRIFF; break; } $dat->holeRechtegruppen(true); $user = $dat->holeUser(true); $dateien = parse_ini_file(PFAD_INIDATEIEN.'dateien_tmp.ini',false); if(count($dateien) > 0){ $dateiersetzen = array(); foreach($dateien as $systemname => $row){ list($zeit,$userid,$originalname) = explode('|',$row,3); if($userid != $_SESSION['user']['id'] and !in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])){ echo 'da';$_inh .= $userid; continue; } $dateiersetzen[$systemname] = $originalname.' (vom '.date('d.m.Y, H:i',$zeit).(in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])?'; Besitzer: '.$user[$userid].')':''); } $_tmpl->assign('dateiersetzen',$dateiersetzen); } if(isset($_POST['speichern'])){ $originaldaten = $daten; $daten = $_POST+$daten; $f = $dat->validiereDateidaten($daten, $originaldaten); if(isset($_POST['dateiersetzen']) and $_POST['dateiersetzen'] != '-'){ if(!in_array($_POST['dateiersetzen'],array_keys($dateiersetzen))){ $f .= 'Auf die gewählte Datei hast du keinen Zugriff
'; } } if(!empty($f)){ $_tmpl->assign('fehler',$f); } else{ if(isset($_POST['dateiersetzen']) and $_POST['dateiersetzen'] != '-'){ $daten['groesse'] = filesize(PFAD_TMP.$_POST['dateiersetzen']); if(!copy(PFAD_TMP.$_POST['dateiersetzen'],PFAD_DATEIEN.$daten['systemname'])){ die('Die Datei konnte nicht kopiert werden.'); } if(isset($_POST['tmpdateiloeschen'])){ if(file_exists(PFAD_TMP.$_POST['dateiersetzen'])){ unlink(PFAD_TMP.$_POST['dateiersetzen']); } unset($dateien[$_POST['dateiersetzen']]); require_once('func/schreibe_ini_datei.inc.php'); schreibe_ini_datei(PFAD_INIDATEIEN.'dateien_tmp.ini',$dateien,false); } } $dat->speichereDateidaten($originaldaten, $daten, 'update'); $qs = ($daten['verzeichnis']==0 or $daten['verzeichnis']==$_SESSION['user']['homeverzeichnis'])?'':'?dir='.$daten['verzeichnis']; weiterleiten('/sonstiges/dateien.html'.$qs,'Die Datei wurde geändert'); } } $_tmpl->assign('daten',$daten); $typen = array(); foreach($dat->dateitypen as $endung => $row){ $typen[$endung] = $row[1]; } $_tmpl->assign('typen',$typen); $verzeichnisse = $dat->baueVerzeichnisListe(); $_tmpl->assign('keinerechte', $dat->holeVerzeichnisseMitFehlendenRechten(array_keys($verzeichnisse),'w')); $_tmpl->assign('verzeichnisse',$verzeichnisse); $_inh .= $_tmpl->fetch('sonstiges/64.dateien-dateiformular.inc.html'); break; default: require_once('func/dateigroesse.inc.php'); $_tmpl->assign('daten',$daten); $_tmpl->assign('typen',$dat->dateitypen); $_tmpl->assign('verzeichnisbaum',$dat->holeVerzeichnisBaum($daten['verzeichnis'], $_db, true)); $_inh .= $_tmpl->fetch('sonstiges/64.dateien-dateidetail.inc.html'); break; } # Ende switch } } elseif(isset($_GET['dir']) and ctype_digit($_GET['dir'])){ # Unterverzeichnis darstellen $_GET['aktion'] = isset($_GET['aktion'])?$_GET['aktion']:''; switch($_GET['aktion']){ case 'loeschen': # Parentdir holen und pruefen ob Unterverzeichnise existiren $query = "SELECT parentid, rechte, userid, gruppenid FROM ".DB_PREFIX."verzeichnisse WHERE id = '".text_format($_GET['dir'],'db')."'"; $_db->holeDaten($query); if($_db->ergebnis['anzahl'] != 1){ $_tmpl->assign('fehler','das gewählte Verzeichnis existiert nicht'); break; } else{ $daten = $_db->holeZeile(); $rechte = $dat->ermittleRechte($daten['rechte'], $daten['userid'], $daten['gruppenid']); if(!$rechte['x']){ $_inh .= T_KEINZUGRIFF; break; } } $query = "SELECT id FROM ".DB_PREFIX."verzeichnisse WHERE parentid = '".text_format($_GET['dir'],'db')."'"; $_db->holeDaten($query); if($_db->ergebnis['anzahl'] != 0){ $_tmpl->assign('fehler','das gewählte Verzeichnis ist nicht leer'); break; } else{ $query = "SELECT id FROM ".DB_PREFIX."dateien WHERE verzeichnisid = '".text_format($_GET['dir'],'db')."'"; $_db->holeDaten($query); if($_db->ergebnis['anzahl'] != 0){ $_tmpl->assign('fehler','das gewählte Verzeichnis ist nicht leer'); break; } } if(!isset($_GET['sicher'])){ $_tmpl->assign('neinquery',($daten['parentid']==0?'':'dir='.$daten['parentid'])); $_tmpl->assign('frage','Soll das Verzeichnis wirklich gelöscht werden?'); $_tmpl->assign('url', '/sonstiges/dateien.html'); $_inh .= $_tmpl->fetch('tools/9902.loeschfrage.inc.html'); } else{ $query = "DELETE FROM ".DB_PREFIX."verzeichnisse WHERE id = ".text_format($_GET['dir'],'db').""; $_db->fuehreQueryAus($query); $qs = ($daten['parentid']==0 or $daten['parentid']==$_SESSION['user']['homeverzeichnis'])?'':'?dir='.$daten['parentid']; weiterleiten('/sonstiges/dateien.html'.$qs,'Das Verzeichnis wurde erfolgreich gelöscht'); } break; case 'anlegen': if(!ctype_digit($_GET['dir'])){ $_inh .= T_KEINDATENSATZ; break; } $query = "SELECT rechte as originalrechte, userid, gruppenid, v.id, name, parentid FROM ".DB_PREFIX."verzeichnisse as v WHERE v.id = ".$_GET['dir'].""; $_db->holeDaten($query); if($_db->holeAnzahl() != 1){ $_inh .= T_KEINDATENSATZ; break; } $parentdir = $_db->holeZeile(); $parentdir['rechte'] = $dat->ermittleRechte($parentdir['originalrechte'], $parentdir['userid'], $parentdir['gruppenid']); if(!$parentdir['rechte']['w']){ $_inh .= T_KEINZUGRIFF; break; } $parentdir['rootverzeichnis'] = $dat->ermittleVerzeichnisRoot($parentdir['id']); $daten = array( 'id' => -1, 'originalrechte' => 'rwx------', 'userid' => $_SESSION['user']['id'], 'gruppenid' => ($parentdir['rootverzeichnis']==0?(in_array(2,$_SESSION['user']['rechtegruppen'])?2:3):5), 'name' => '', 'parentid' => $_GET['dir'], 'rechte' => array('r' => 1,'w' => 1,'x' => 1), 'rootverzeichnis' => $parentdir['rootverzeichnis'] ); # Daten ueberpruefen wenn Forumlar abgeschickt if(isset($_POST['speichern'])){ $originaldaten = $daten; $daten = $_POST+$daten; $f = $dat->validiereVerzeichnisdaten($daten, $originaldaten); if(!empty($f)){ $_tmpl->assign('fehler',$f); } else{ $dat->speichereVerzeichnisdaten($originaldaten, $daten, 'insert'); $qs = ($daten['parentid']==0 or $daten['parentid']==$_SESSION['user']['homeverzeichnis'])?'':'?dir='.$daten['parentid']; weiterleiten('/sonstiges/dateien.html'.$qs,'Das Verzeichnis wurde angelegt'); } } # Verzeichnisbaum, Rechtegruppen und User holen und an Smarty uebergeben $weglassen = in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])?array():array(1); $daten['rootverzeichnis'] = in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])?0:$daten['rootverzeichnis']; $verzeichnisse = $dat->baueVerzeichnisListe($daten['rootverzeichnis'],$weglassen); $_tmpl->assign('keinerechte', $dat->holeVerzeichnisseMitFehlendenRechten(array_keys($verzeichnisse),'w')); $_tmpl->assign('verzeichnisse',$verzeichnisse); $dat->holeRechtegruppen(true); $dat->holeUser(true); $_tmpl->assign('daten',$daten); $_inh .= $_tmpl->fetch('sonstiges/64.verzeichnis-formular.inc.html'); break; case 'aendern': if(!ctype_digit($_GET['dir'])){ $_inh .= T_KEINDATENSATZ; break; } $query = "SELECT rechte as originalrechte, userid, gruppenid, v.id, name, parentid FROM ".DB_PREFIX."verzeichnisse as v WHERE v.id = ".$_GET['dir'].""; $_db->holeDaten($query); if($_db->holeAnzahl() == 1){ $daten = $_db->holeZeile(); $daten['rechte'] = $dat->ermittleRechte($daten['originalrechte'], $daten['userid'], $daten['gruppenid']); } else{ $_inh .= T_KEINDATENSATZ; break; } if(!$daten['rechte']['x'] and $daten['userid'] != $_SESSION['user']['id']){ $_inh .= T_KEINZUGRIFF; break; } $daten['rootverzeichnis'] = $dat->ermittleVerzeichnisRoot($daten['id']); # Daten ueberpruefen wenn Forumlar abgeschickt if(isset($_POST['speichern'])){ $originaldaten = $daten; $daten = $_POST+$daten; $f = $dat->validiereVerzeichnisdaten($daten, $originaldaten); if(!empty($f)){ $_tmpl->assign('fehler',$f); } else{ $daten['id'] = $_GET['dir']; $dat->speichereVerzeichnisdaten($originaldaten, $daten, 'update'); $qs = ($daten['parentid']==0 or $daten['parentid']==$_SESSION['user']['homeverzeichnis'])?'':'?dir='.$daten['parentid']; weiterleiten('/sonstiges/dateien.html'.$qs,'Das Verzeichnis wurde geändert'); } } # Verzeichnisbaum, Rechtegruppen und User holen und an Smarty uebergeben $weglassen = in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])?array():array(1); $daten['rootverzeichnis'] = in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])?0:$daten['rootverzeichnis']; $verzeichnisse = $dat->baueVerzeichnisListe($daten['rootverzeichnis'],$weglassen); $_tmpl->assign('keinerechte', $dat->holeVerzeichnisseMitFehlendenRechten(array_keys($verzeichnisse),'w')); $_tmpl->assign('verzeichnisse',$verzeichnisse); $dat->holeRechtegruppen(true); $dat->holeUser(true); $_tmpl->assign('daten',$daten); $_inh .= $_tmpl->fetch('sonstiges/64.verzeichnis-formular.inc.html'); break; default: # Uebergeordnetes Verzeichnis holen $query = "SELECT rechte as originalrechte, userid, CONCAT(nachname, ', ', vorname) as username, gruppenid, v.id, name, parentid FROM ".DB_PREFIX."verzeichnisse as v, ".DB_PREFIX."mitglieder as m WHERE v.id = ".$_GET['dir']." AND v.userid = m.id"; $_db->holeDaten($query); if($_db->holeAnzahl() == 1){ $row = $_db->holeZeile(); $row['rechte'] = $dat->ermittleRechte($row['originalrechte'], $row['userid'], $row['gruppenid']); } else{ $_inh .= T_KEINDATENSATZ; break; } if(!$row['rechte']['r']){ $_inh .= T_KEINZUGRIFF; break; } $_tmpl->assign('parentid',$row['parentid']); $_tmpl->assign('verzeichnis',$row); # Verzeichnisse holen $query = "SELECT id, userid, gruppenid, rechte, name, parentid FROM ".DB_PREFIX."verzeichnisse WHERE parentid = ".$_GET['dir']." ORDER BY name"; $_db->holeDaten($query); $daten['v'] = $_db->ergebnis['daten']; foreach($daten['v'] as $key => $row){ $daten['v'][$key]['rechte'] = $dat->ermittleRechte($row['rechte'], $row['userid'], $row['gruppenid']); } # Dateien holen $query = "SELECT dateiname, rechte, userid, gruppenid, id, typ, IF(LOCATE('\n',beschreibung)=0,beschreibung,SUBSTRING(beschreibung, 1,LOCATE('\n',beschreibung)-2)) as titel FROM ".DB_PREFIX."dateien WHERE verzeichnisid = ".$_GET['dir']." ORDER BY dateiname"; $_db->holeDaten($query); $daten['d'] = $_db->baueArray('*','#'); foreach($daten['d'] as $key => $row){ $daten['d'][$key]['rechte'] = $dat->ermittleRechte($row['rechte'], $row['userid'], $row['gruppenid']); } $_tmpl->assign('daten',$daten); $_tmpl->assign('verzeichnisbaum',$dat->holeVerzeichnisBaum($_GET['dir'], true)); $_inh .= $_tmpl->fetch('sonstiges/64.dateien-verzeichnis.inc.html'); break; } # Ende switch } else{ $_GET['aktion'] = isset($_GET['aktion'])?$_GET['aktion']:''; switch($_GET['aktion']){ case 'verschieben': $dateien = parse_ini_file(PFAD_INIDATEIEN.'dateien_tmp.ini',false); if(isset($dateien[$_GET['datei']])){ list($zeit,$userid,$originalname) = explode('|',$dateien[$_GET['datei']],3); if($userid != $_SESSION['user']['id'] and !in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])){ $_tmpl->assign('fehler','Du hast keine Rechte um diese Datei zu verwenden'); break; } } else{ $_tmpl->assign('fehler','Die gewählte Datei existiert nicht'); break; } $dat->holeRechtegruppen(true); $user = $dat->holeUser(true); $endung = substr($originalname,strrpos($originalname,'.')+1); foreach($dat->anpassungen as $ziel => $quelle){ if(in_array($endung, $quelle)){ $endung = $ziel; break; } } $daten = array( 'tmpdateiloeschen' => 1, 'name' => $originalname, 'typ' => $endung, 'verzeichnis' => $_SESSION['user']['homeverzeichnis'], 'originalrechte' => 'rwx------', 'userid' => $_SESSION['user']['id'], 'gruppenid' => 5, 'rechte' => array('r' => 1,'w' => 1,'x' => 1), 'tmpdatei' => $originalname.' vom '.date('d.m.Y, H:i',$zeit).(in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])?'; Besitzer: '.$user[$userid]:'') ); if(isset($_POST['speichern'])){ $originaldaten = $daten; $daten = $_POST+$daten; $f = $dat->validiereDateidaten($daten, $originaldaten); if(!empty($f)){ $_tmpl->assign('fehler',$f); } else{ $daten['groesse'] = filesize(PFAD_TMP.$_GET['datei']); $daten['systemname'] = $dat->generiereDateiname($daten['typ'], PFAD_DATEIEN); if(!copy(PFAD_TMP.$_GET['datei'],PFAD_DATEIEN.$daten['systemname'])){ die('Die Datei konnte nicht kopiert werden.'); } if(isset($_POST['tmpdateiloeschen'])){ if(file_exists(PFAD_TMP.$_GET['datei'])){ unlink(PFAD_TMP.$_GET['datei']); } unset($dateien[$_GET['datei']]); require_once('func/schreibe_ini_datei.inc.php'); schreibe_ini_datei(PFAD_INIDATEIEN.'dateien_tmp.ini',$dateien,false); } $dat->speichereDateidaten($originaldaten, $daten, 'insert'); $qs = ($daten['verzeichnis']==0 or $daten['verzeichnis']==$_SESSION['user']['homeverzeichnis'])?'':'?dir='.$daten['verzeichnis']; weiterleiten('/sonstiges/dateien.html'.$qs,'Die Datei wurde angelegt'); } } $_tmpl->assign('daten',$daten); $typen = array(); foreach($dat->dateitypen as $endung => $row){ $typen[$endung] = $row[1]; } $_tmpl->assign('typen',$typen); $verzeichnisse = $dat->baueVerzeichnisListe(); $_tmpl->assign('keinerechte', $dat->holeVerzeichnisseMitFehlendenRechten(array_keys($verzeichnisse),'w')); $_tmpl->assign('verzeichnisse',$verzeichnisse); $_inh .= $_tmpl->fetch('sonstiges/64.dateien-dateiformular.inc.html'); break; case 'tmpdateiloeschen': if(!isset($_GET['sicher'])){ $_tmpl->assign('frage','Soll die Datei wirklich gelöscht werden?'); $_tmpl->assign('url', '/sonstiges/dateien.html'); $_inh .= $_tmpl->fetch('tools/9902.loeschfrage.inc.html').'
'; } else{ $dateien = parse_ini_file(PFAD_INIDATEIEN.'dateien_tmp.ini',false); if(isset($dateien[$_GET['datei']])){ list(,$userid,) = explode('|',$dateien[$_GET['datei']],3); if($userid == $_SESSION['user']['id'] or in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])){ if(file_exists(PFAD_TMP.$_GET['datei'])){ unlink(PFAD_TMP.$_GET['datei']); } unset($dateien[$_GET['datei']]); require_once('func/schreibe_ini_datei.inc.php'); schreibe_ini_datei(PFAD_INIDATEIEN.'dateien_tmp.ini',$dateien,false); weiterleiten('/sonstiges/dateien.html','Die Datei wurde gelöscht.'); } } } break; case 'upload': if(isset($_POST['speichern']) and isset($_FILES)){ # Dateibehandlung if($_FILES['datei']['size'] > TKSWIM_MAXDATEIGROESSE){ $_FILES['datei']['error'] = UPLOAD_ERR_INI_SIZE; } if($_FILES['datei']['error'] != UPLOAD_ERR_OK){ switch($_FILES['datei']['error']){ case UPLOAD_ERR_INI_SIZE: # Datei wegen upload_max_filesize zu gross case UPLOAD_ERR_FORM_SIZE: # Datei wegen Angabe im HTML-Code zu gross $fehler = 'Die Datei ist zu groß (max. '.(TKSWIM_MAXDATEIGROESSE/(1024*1024)).'MB).'; break; case UPLOAD_ERR_PARTIAL: $fehler = 'Die Datei wurde nicht vollständig hochgeladen.'; break; case UPLOAD_ERR_NO_FILE: $fehler = 'Es wurde keine Datei zum Hochladen ausgewählt.'; break; default: if(defined('UPLOAD_ERR_NO_TMP_DIR') and $_FILES['datei']['error'] == UPLOAD_ERR_NO_TMP_DIR){ $fehler = 'Es wurde keine temporär Verzeichnis gefunden.'; } elseif(defined('UPLOAD_ERR_CANT_WRITE') and $_FILES['datei']['error'] == UPLOAD_ERR_NO_TMP_DIR){ $fehler = 'Die Datei konnte nicht auf die Festplatte geschrieben werden'; } else{ $fehler = 'Es ist eine Fehler aufgetreten.'; } break; } $_tmpl->assign('fehler',$fehler); } else{ # Datei wurde erfolgreich hochgeladen -> verschieben $systemname = $dat->sichereUploadDatei(); $qs = ($_POST['anschliessend']=='weitere'? '?aktion=upload': ($_POST['anschliessend']=='dateisystem'? '?aktion=verschieben&datei='.$systemname: '')); weiterleiten('/sonstiges/dateien.html'.$qs,'Die Datei wurde erfolgreich hochgeladen'); } } $_inh .= $_tmpl->fetch('sonstiges/64.dateien-uploadformular.inc.html'); break; default: # Rootverzeichnis darstellen # Home-Verzeichnis holen $daten = array(); $query = "SELECT id, userid, name, parentid FROM ".DB_PREFIX."verzeichnisse WHERE parentid = ".$_SESSION['user']['homeverzeichnis']." ORDER BY name"; $_db->holeDaten($query); $daten['home_v'] = $_db->baueArray('*','#'); $query = "SELECT dateiname, userid, id, typ, IF(LOCATE('\n',beschreibung)=0,beschreibung,SUBSTRING(beschreibung, 1,LOCATE('\n',beschreibung)-2)) as titel FROM ".DB_PREFIX."dateien WHERE verzeichnisid = ".$_SESSION['user']['homeverzeichnis']." ORDER BY dateiname"; $_db->holeDaten($query); $daten['home_d'] = $_db->baueArray('*','#'); # allgemeines-Verzeichnis holen $query = "SELECT id, userid, gruppenid, rechte, name, parentid FROM ".DB_PREFIX."verzeichnisse WHERE parentid = 0".(in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])?'':' AND id != 1')." ORDER BY name"; $_db->holeDaten($query); $daten['allg_v'] = $_db->baueArray('*','#'); foreach($daten['allg_v'] as $key => $row){ $daten['allg_v'][$key]['rechte'] = $dat->ermittleRechte($row['rechte'], $row['userid'], $row['gruppenid']); } $query = "SELECT dateiname, rechte, userid, gruppenid, id, typ, IF(LOCATE('\n',beschreibung)=0,beschreibung,SUBSTRING(beschreibung, 1,LOCATE('\n',beschreibung)-2)) as titel FROM ".DB_PREFIX."dateien WHERE verzeichnisid = 0 ORDER BY dateiname"; $_db->holeDaten($query); $daten['allg_d'] = $_db->baueArray('*','#'); foreach($daten['allg_d'] as $key => $row){ $daten['allg_d'][$key]['rechte'] = $dat->ermittleRechte($row['rechte'], $row['userid'], $row['gruppenid']); } # hochgeladene Dateien $daten['h'] = array(); $hgldat = parse_ini_file(PFAD_INIDATEIEN.'dateien_tmp.ini'); foreach($hgldat as $systemname => $wert){ list($zeit,$userid,$originalname) = explode('|',$wert); if($userid != $_SESSION['user']['id'] and !in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])){ continue; } else{ $daten['h'][] = array( 'systemname' => $systemname, 'zeit' => $zeit, 'userid' => $userid, 'originalname' => $originalname ); } } if(in_array('s_dateien_rootzugriff',$_SESSION['user']['rechte'])){ $dat->holeUser(true); } $_tmpl->assign('daten',$daten); $_inh .= $_tmpl->fetch('sonstiges/64.dateien-index.inc.html'); break; } } } # Ende Rechte-else, EOF ?>