, * Andreas Oesterreicher and * Karl Burkhart and * Manfred Kindl . */ 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'); require_once('../include/basis_db.class.php'); require_once('../include/datum.class.php'); require_once('../include/log.class.php'); $db = new basis_db(); $user = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!$rechte->isberechtigt('basis/dms',null, 's', null)) die($rechte->errormsg); ?> FHComplete Document Management System 'pdf_icon.png', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'=>'doc_icon.png', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'=>'ppt_icon.png', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'=>'xls_icon.png', 'application/vnd.oasis.opendocument.text'=>'openoffice0.jpg', 'application/msword'=>'doc_icon.png', 'application/vnd.ms-excel'=>'xls_icon.png', 'application/x-zip'=>'zip_icon.png', 'application/zip'=>'zip_icon.png', 'application/mspowerpoint'=>'ppt_icon.png', 'image/jpeg'=>'img_icon.png', 'image/gif'=>'img_icon.png', 'image/png'=>'img_icon.png', ); // Hole Datei aus Import Verzeichnis if($importFile != '') { if(!$rechte->isberechtigt('basis/dms',null, 'sui', null)) die($rechte->errormsg); $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; } //Mimetype auslesen $finfo = finfo_open(FILEINFO_MIME_TYPE); $dms->insertamum=date('Y-m-d H:i:s'); $dms->insertvon = $user; $dms->mimetype= finfo_file($finfo, IMPORT_PATH.$importFile); //Davor deprecated: 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'])) { if(!$rechte->isberechtigt('basis/dms',null, 'sui', null)) die($rechte->errormsg); $dms_id = $_POST['dms_id']; $beschreibung = $_POST['beschreibung']; $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; } //Mimetype auslesen $finfo = finfo_open(FILEINFO_MIME_TYPE); $dms->insertamum=date('Y-m-d H:i:s'); $dms->insertvon = $user; $dms->mimetype = finfo_file($finfo, $uploadfile); // Davor deprecated: $_FILES['userfile']['type']; $dms->filename = $filename; $dms->name = $_FILES['userfile']['name']; $dms->beschreibung = $beschreibung; 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') { if(!$rechte->isberechtigt('basis/dms',null, 'su', null)) die($rechte->errormsg); $name = $_POST['dateiname']; $dms_id = $_POST['dms_id']; $version = $_POST['version']; $beschreibung = $_POST['beschreibung']; $dms = new dms(); if($dms->load($dms_id, $version)) { $dms->name = $name; $dms->beschreibung = $beschreibung; $dms->updateamum=date('Y-m-d H:i:s'); $dms->updatevon = $user; 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, 'suid', null)) die($rechte->errormsg); // 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 { // Log schreiben $logdata_dms = (array)$dms; $logdata = var_export($logdata_dms, true); $log = new log(); $log->executetime = date('Y-m-d H:i:s'); $log->mitarbeiter_uid = $user; $log->beschreibung = "Löschen der DMS_ID ".$dms_id; $log->sql = 'LogData:'.$logdata; $log->sqlundo = ''; $log->save(true); } } else { // lösche gesamten Eintrag $dms = new dms(); $dms_id = $_REQUEST['dms_id']; // DB Einträge und Dokumente löschen if (! $dms->deleteDms($dms_id)) echo '' . $dms->errormsg . ''; else { // Log schreiben $logdata_dms = (array)$dms; $logdata = var_export($logdata_dms, true); $log = new log(); $log->executetime = date('Y-m-d H:i:s'); $log->mitarbeiter_uid = $user; $log->beschreibung = "Löschen der DMS_ID ".$dms_id; $log->sql = 'LogData:'.$logdata; $log->sqlundo = ''; $log->save(true); } } } if($versionId != '') { // Übersicht der Versionen echo '

Versionsübersicht

'; if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true') echo '

zurück

'; else echo '

zurück

'; drawAllVersions($versionId); } elseif($renameId!='') { // Datei umbenennen if(!$rechte->isberechtigt('basis/dms',null, 'su', null)) die($rechte->errormsg); echo '

Datei umbennen

'; if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true') echo '

zurück

'; else echo '

zurück

'; drawRenameForm($renameId, $version, $page, $dpp, $searching, $searchstring); } /*if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true') { echo '
'; } else { echo ''; }*/ elseif($chkatID != '') { //Kategorie aendern if(!$rechte->isberechtigt('basis/dms',null, 'su', null)) die($rechte->errormsg); if(isset($_POST['action']) && ($_POST['action']=='chkat')) { // neue Kategorie speichern $dms = new dms(); $dms->load($chkatID); $dms->kategorie_kurzbz = $_POST['kategoriez']; $dms->save(); if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true') { echo ''; } else { echo ''; } } else { // Kategorieauswahl $dms = new dms(); $dms->load($chkatID); echo '

Kategorie von '.$dms->name.' ändern

'; echo '

zurück

'; drawChangeKategorie($chkatID, $page, $dpp); } } else { echo '

Dokument Auswählen

'; // Suche anzeigen echo'
Administration

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!='' || (isset($_GET['searching']) && $_GET['searching'] == true)) { $count = new dms(); $count->search($searchstring); $anzahl = count($count->result); $dms->search($searchstring, $dpp, $page); $suche = true; if ($page != 0) { echo ''.$anzahl.' Elemente gefundenSeite '.$page.' von '; if (is_int($anzahl/$dpp)) { echo (int)($anzahl/$dpp).' '; } else { echo (int)(($anzahl/$dpp)+1).' '; } } else { echo 'Seite 1'; } drawFilesList($dms->result); echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
Elemente pro Seite 
'; } else { $count = new dms(); $count->getDocuments($kategorie_kurzbz); $anzahl = count($count->result); $dms->getDocuments($kategorie_kurzbz, $dpp, $page); if ($page != 0) { echo ''.$anzahl.' Elemente gefundenSeite '.$page.' von '; if (is_int($anzahl/$dpp)) { echo (int)($anzahl/$dpp).' '; } else { echo (int)(($anzahl/$dpp)+1).' '; } } else { echo 'Seite 1'; } drawFilesList($dms->result); echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
Elemente pro Seite 
'; } //drawFilesThumb($dms->result); echo '
'; if($rechte->isberechtigt('basis/dms',null, 'sui', null)) { echo '
Neue Datei hochladen



'; if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true') { echo '
'; } else { echo ''; } echo '
Beschreibung

'; $files = scandir(IMPORT_PATH); $files_count = count($files)-2; // Minus zwei wegen "." und ".." if ($files_count>0 && $rechte->isberechtigt('basis/dms',null, 'sui', null)) drawFilesFromImport(); echo '
'; } if($openupload) { echo ''; } } /************ FUNCTIONS ********************/ /** * Zeigt alle Versionen des Dokumentes an * * @param $id DokumentID die angezeigt werden soll */ function drawAllVersions($id) { global $rechte; $dms = new dms(); $dms->getAllVersions($id); echo ' '; foreach ($dms->result as $dms_help) { echo ''; } echo '
Version Name Beschreibung Kategorie Datum User
'.$dms_help->version.' '.$dms_help->name.' '.$dms_help->beschreibung.' '.$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 ''; echo '

Files im Import Ordner

'; while (false !== ($file = readdir($handle))) { if($file != '.' && $file != '..') { echo' '; } } echo'
File
'.$file.' Upload
'; closedir($handle); } } /** * Zeichnet das Kategorie Menu * * @param $rows DMS Result Object */ function drawKategorieMenue($rows) { global $kategorie_kurzbz; //echo '
    '; foreach($rows as $row) { if($kategorie_kurzbz=='') $kategorie_kurzbz=$row->kategorie_kurzbz; if($kategorie_kurzbz==$row->kategorie_kurzbz) $class='marked'; else $class=''; $dms = new dms(); $dms->getKategorie($row->kategorie_kurzbz); //Suchen, ob eine Sperre fuer diese Kategorie vorhanden ist $groups = $dms->getLockGroups($row->kategorie_kurzbz); $locked=''; if(count($groups)>0) { $locked = 'result)>0) { echo '    '.$row->bezeichnung.' '.$locked.' '; drawKategorieMenue($dms->result); echo ' '; } else { echo '    '.$row->bezeichnung.''.$locked.' '; } } //echo ''; //echo '
'; } /** * Zeichnet die Files in Listenform * * @param $rows DMS Result Object */ function drawFilesList($rows) { global $mimetypes, $suche, $rechte; $dms = new dms(); if(count($rows)>0) { echo ' '; } echo ' '; if($suche == true) { echo ''; } echo' '; foreach($rows as $row) { echo ' '; $datum = new datum(); echo ''; $kategorie = new dms(); $kategorie->loadKategorie($row->kategorie_kurzbz); // zeige bei suche auch kategorie an if($suche == true) { echo ''; } echo''; echo ''; echo ''; echo ''; } echo '
Titel VKategorie  ID Beschreibung
'; 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' '.$newVersion.' '.$row->name.' '; echo $row->version; echo ''; echo ''.$kategorie->bezeichnung.''; echo ''; //Upload einer neuen Version echo ''; echo ''.$row->dms_id.''.$dms->convert_html_chars($row->beschreibung).'
'; $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, $page = NULL, $dpp = NULL, $searching, $searchstring) { global $kategorie_kurzbz; $dms = new dms(); if($dms->load($dms_id, $version)) { if ($searching == 'true') { echo '
'; } else { echo ''; } echo '
Dateiname:
Beschreibung:
'; echo '
'; } else { echo 'Fehler beim Laden des Eintrags'; } } /** * Erstellt das Formular zum Ändern der Kategorie von Dokumenten * @param $dms_id ID des Dokuments */ function drawChangeKategorie($dms_id, $page = NULL, $dpp = NULL) { $dms = new dms; $dms->load($dms_id); $allKategorien = new dms(); $allKategorien->getAllKategories(); if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true') { echo '
'; } else { echo ''; } echo ' '; if (!is_null($page)) echo ''; if (!is_null($dpp)) echo ''; echo '
'; } ?>