, * Andreas Oesterreicher and * Karl Burkhart . */ require_once('../config/cis.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/dms.class.php'); require_once('../include/benutzerberechtigung.class.php'); $user = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); ?> FHComplete Document Management System 'pdf.ico', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'=>'word2007.jpg', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'=>'x-office-presentation.png', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'=>'excel.gif', 'application/vnd.oasis.opendocument.text'=>'openoffice0.jpg', 'application/msword'=>'dotpic.gif', 'application/vnd.ms-excel'=>'excel.gif', 'application/x-zip'=>'zippic.gif', 'image/jpeg'=>'imgpic.gif', 'image/gif'=>'imgpic.gif', 'image/png'=>'imgpic.gif', ); // Hole Datei aus Import Verzeichnis if($importFile != '') { $ext = pathinfo($importFile, PATHINFO_EXTENSION); $filename=uniqid(); $filename.=".".$ext; $dms_id = $_POST['dms_id_import']; // kopiert aus import Verzeichnis if(copy(IMPORT_PATH.$importFile, DMS_PATH.$filename)) { $dms = new dms; if($dms_id!='') { if(!$dms->load($dms_id)) { die($dms->errormsg); } $dms->version=$dms->version+1; } else { $dms->version='0'; $dms->kategorie_kurzbz=$kategorie_kurzbz; } $dms->insertamum=date('Y-m-d H:i:s'); $dms->insertvon = $user; $dms->mimetype= mime_content_type(IMPORT_PATH.$importFile); $dms->filename = $filename; $dms->name = $importFile; if($dms->save(true)) { echo 'File wurde erfolgreich hochgeladen. Filename:'.$filename.' ID:'.$dms->dms_id; $dms_id=$dms->dms_id; if($projekt_kurzbz!='' || $projektphase_id!='') { if(!$dms->saveProjektzuordnung($dms_id, $projekt_kurzbz, $projektphase_id)) echo $dms->errormsg; } } else echo 'Fehler beim Speichern der Daten'; if(!chgrp(DMS_PATH.$filename,'dms')) echo 'CHGRP failed'; if(!chmod(DMS_PATH.$filename, 0774)) echo 'CHMOD failed'; exec('sudo chown wwwrun '.$filename); // Lösche File aus Verzeichnis nachdem es raufgeladen wurde if(!unlink(IMPORT_PATH.$importFile)) echo 'Fehler beim Löschen aufgetreten.'; } } if(isset($_POST['fileupload'])) { $dms_id = $_POST['dms_id']; $ext = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION); $filename = uniqid(); $filename.=".".$ext; $uploadfile = DMS_PATH.$filename; if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { if(!chgrp($uploadfile,'dms')) echo 'CHGRP failed'; if(!chmod($uploadfile, 0774)) echo 'CHMOD failed'; exec('sudo chown wwwrun '.$uploadfile); $dms = new dms(); if($dms_id!='') { if(!$dms->load($dms_id)) { die($dms->errormsg); } $dms->version=$dms->version+1; } else { $dms->version='0'; $dms->kategorie_kurzbz=$kategorie_kurzbz; } $dms->insertamum=date('Y-m-d H:i:s'); $dms->insertvon = $user; $dms->mimetype=$_FILES['userfile']['type']; $dms->filename = $filename; $dms->name = $_FILES['userfile']['name']; if($dms->save(true)) { echo 'File wurde erfolgreich hochgeladen. Filename:'.$filename.' ID:'.$dms->dms_id; $dms_id=$dms->dms_id; if($projekt_kurzbz!='' || $projektphase_id!='') { if(!$dms->saveProjektzuordnung($dms_id, $projekt_kurzbz, $projektphase_id)) echo $dms->errormsg; } } else { echo 'Fehler beim Speichern der Daten'; } } else { echo 'Fehler beim Hochladen der Datei'; } } if(isset($_POST['action']) && $_POST['action']=='rename') { $name = $_POST['dateiname']; $dms_id = $_POST['dms_id']; $version = $_POST['version']; $dms = new dms(); if($dms->load($dms_id, $version)) { $dms->name = $name; if($dms->save(false)) echo 'Dateiname wurde erfolgreich geändert'; else echo 'Fehler beim Ändern des Dateinamens:'.$dms->errormsg.''; } else echo 'Fehler beim Laden des Eintrages'; } if(isset($_REQUEST['delete'])) { if(!$rechte->isberechtigt('basis/dms',null, 'sui', null)) die('Sie haben keine Berechtigung diese Seite zu sehen.'); // lösche nur die Version if(isset($_REQUEST['version'])) { $dms_id = $_REQUEST['dms_id']; $version = $_REQUEST['version']; $dms = new dms(); $dms->load($dms_id, $version); // DB Eintrag löschen if(!$dms->deleteVersion($dms_id, $version)) echo ''.$dms->errormsg.''; else { // File im Filesystem löschen if(unlink(DMS_PATH.$dms->filename)) echo 'Erfolgreich gelöscht!'; else echo 'Fehler beim löschen aus dem Filesystem aufgetreten!'; } }else { // lösche gesamten Eintrag $dms_id = $_REQUEST['dms_id']; $dms = new dms(); $error = false; $dms->getAllVersions($dms_id); // DB Einträge löschen if(!$dms->deleteDms($dms_id)) echo ''.$dms->errormsg.''; else { // Alle Versionen der Datei vom Filesystem löschen foreach($dms->result as $obj) { if(!unlink(DMS_PATH.$obj->filename)) $error = true; } if($error) echo 'Fehler beim löschen aus dem Filesystem aufgetreten!'; else echo 'Erfolgreich gelöscht!'; } } } if($versionId != '') { // Übersicht der Versionen echo '

Versionsübersicht

'; echo 'zurück'; drawAllVersions($versionId); } elseif($renameId!='') { // Übersicht der Versionen echo '

Versionsübersicht

'; echo 'zurück'; drawRenameForm($renameId, $version); } else { echo '

Dokument Auswählen

Administration
'; // Suche anzeigen echo'

Kategorie:

'; //Kategorien anzeigen $dms = new dms(); $dms->getKategorie(); echo '
'; drawKategorieMenue($dms->result); echo '
   
'; echo ''; echo '
'; //Dokumente der Ausgewaehlten Kategorie laden und Anzeigen $dms = new dms(); if($searchstring!='') { $dms->search($searchstring); $suche = true; } else { $dms->getDocuments($kategorie_kurzbz); } //drawFilesThumb($dms->result); drawFilesList($dms->result); echo '

Neue Datei hochladen


Files im Import Ordner

'; drawFilesFromImport(); echo'
'; if($openupload) { echo ''; } } /************ FUNCTIONS ********************/ /** * Zeigt alle Versionen des Dokumentes an * * @param $id DokumentID die angezeigt werden soll */ function drawAllVersions($id) { $dms = new dms(); $dms->getAllVersions($id); echo ''; foreach ($dms->result as $dms_help) { echo ''; } echo '
Version Name Kategorie Datum User
'.$dms_help->version.' '.$dms_help->name.' '.$dms_help->kategorie_kurzbz.' '.$dms_help->insertamum.' '.$dms_help->insertvon.'
'; } /** * Liest die Files aus dem Importverzeichnis aus * */ function drawFilesFromImport() { global $kategorie_kurzbz, $projekt_kurzbz, $projektphase_id; if ($handle = opendir(IMPORT_PATH)) { echo ''; while (false !== ($file = readdir($handle))) { if($file != '.' && $file != '..') { echo' '; } } echo'
'.$file.'
'; closedir($handle); } } /** * Zeichnet das Kategorie Menu * * @param $rows DMS Result Object */ function drawKategorieMenue($rows) { global $kategorie_kurzbz; //echo ''; } /** * Zeichnet die Files in Listenform * * @param $rows DMS Result Object */ function drawFilesList($rows) { global $mimetypes, $suche; $dms = new dms(); echo ' '; foreach($rows as $row) { echo ' '; echo ''; } echo '
'; if(array_key_exists($row->mimetype,$mimetypes)) echo ''; else echo ''; // wenn es noch höhere Versionen zu diesem Dokument gibt, wird dieses gekennzeichnet $newVersion = ''; $newerVersionAlert=''; if($dms->checkVersion($row->dms_id, $row->version)) { $newVersion = '*'; $newerVersionAlert = 'alert(\'Achtung!! Es gibt eine neuere Version dieses Dokuments. Es wird die aktuellste eingefügt.\');'; } echo' '.$row->name.' '.$newVersion.' '; // zeige bei suche auch kategorie an if($suche == true) { echo $row->kategorie_kurzbz; } echo''; //Upload einer neuen Version echo ''; echo '
'; $suche = false; } /** * Erstellt das Formular zum Umbenennen von Dokumenten * @param $dms_id ID des Dokuments * @param $version Versionsnummer des Dokuments */ function drawRenameForm($dms_id, $version) { global $kategorie_kurzbz; $dms = new dms(); if($dms->load($dms_id, $version)) { echo '
Dateiname:
'; } else { echo 'Fehler beim Laden des Eintrags'; } } ?>