/** * Speichert Daten in eine Datei * @param $data */ function put($data) { $dms = new dms(); if ($dms->load($this->dms_id)) { $dms->version = $dms->version++; $pos = mb_strrpos($dms->name, '.') + 1; if ($pos > 1) { $ext = '.' . mb_substr($dms->name, $pos); } else { $ext = ''; } $filename = uniqid() . $ext; $dms->version++; $dms->insertamum = date('Y-m-d H:i:s'); $dms->insertvon = $this->getUser(); $dms->filename = $filename; if ($dms->save(true)) { if (file_put_contents(DMS_PATH . $filename, $data)) { if (!chgrp(DMS_PATH . $filename, 'dms')) { echo 'CHGRP failed'; } if (!chmod(DMS_PATH . $filename, 0774)) { echo 'CHMOD failed'; } exec('sudo chown wwwrun ' . $filename); $dms->save(false); } else { throw new Sabre_DAV_Exception_FileNotFound('Failed to Write File'); } } else { throw new Sabre_DAV_Exception_FileNotFound('Failed ' . $dms->errormsg); } } }
* Die Dokumente werden entweder base64 kodiert in der Datenbank in der Spalte inhalt gespeichert * oder im Filesystem, in diesem Fall ist die Akte mit einer DMS ID verknuepft in welcher der Dateiname steht. */ require_once '../config/vilesci.config.inc.php'; require_once '../include/dms.class.php'; require_once '../include/benutzerberechtigung.class.php'; require_once '../include/functions.inc.php'; $user = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if (!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('mitarbeiter')) { die('Keine Berechtigung'); } if (isset($_GET['id']) && is_numeric($_GET['id'])) { $dms = new dms(); if (!$dms->load($_GET['id'])) { die('Kein Dokument vorhanden'); } $filename = DMS_PATH . $dms->filename; if (!isset($_GET['notimeupdate'])) { $dms->touch($dms->dms_id, $dms->version); } if (file_exists($filename)) { if ($handle = fopen($filename, "r")) { if ($dms->mimetype == '') { $dms->mimetype = 'application/octetstream'; } header('Content-type: ' . $dms->mimetype); header('Content-Disposition: inline; filename="' . $dms->name . '"'); header('Content-Length: ' . filesize($filename)); while (!feof($handle)) {
/** * 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 '<form action="' . $_SERVER['PHP_SELF'] . '?chkatID=' . $dms_id . '&searching=true&searchstring=' . $_REQUEST['searchstring']; if (!is_null($page)) { echo '&page=' . $page; } if (!is_null($dpp)) { echo '&dpp=' . $dpp; } echo '" method="POST">'; } else { echo '<form action="' . $_SERVER['PHP_SELF'] . '?chkatID=' . $dms_id . '&kategorie_kurzbz=' . $dms->kategorie_kurzbz; if (!is_null($page)) { echo '&page=' . $page; } if (!is_null($dpp)) { echo '&dpp=' . $dpp; } echo '" method="POST">'; } echo ' <select name="kategoriez"> <option value="auswahl">-- Bitte Auswählen --</option>'; foreach ($allKategorien->result as $kategorienResult) { $selected = ''; if ($kategorienResult->kategorie_kurzbz == $dms->kategorie_kurzbz) { $selected = 'selected'; } echo '<option ' . $selected . ' value="' . $kategorienResult->kategorie_kurzbz . '">' . $kategorienResult->bezeichnung . ' [' . $kategorienResult->kategorie_kurzbz . ']</option>'; } echo '</select> <input type="hidden" name="action" value="chkat"> <input type="hidden" name="dms_id" value="' . $dms_id . '">'; if (!is_null($page)) { echo '<input type="hidden" name="page" value="' . $page . '">'; } if (!is_null($dpp)) { echo '<input type="hidden" name="dpp" value="' . $dpp . '">'; } echo '<input type="submit" class="buttondesign" name="chkat_save" value="Speichern"></form>'; }
function OutputData($akte) { if ($akte->inhalt != '') { //Header fuer Bild schicken header("Content-type: {$akte->mimetype}"); header('Content-Disposition: attachment; filename="' . $akte->titel . '"'); echo base64_decode($akte->inhalt); } elseif ($akte->dms_id != '') { $dms = new dms(); if (!$dms->load($akte->dms_id)) { die('Kein Dokument vorhanden'); } $filename = DMS_PATH . $dms->filename; if (!isset($_GET['notimeupdate'])) { $dms->touch($dms->dms_id, $dms->version); } if (file_exists($filename)) { if ($handle = fopen($filename, "r")) { if ($dms->mimetype == '') { $dms->mimetype = 'application/octetstream'; } header('Content-type: application/octetstream'); header('Content-Disposition: inline; filename="' . $dms->name . '"'); header('Content-Length: ' . filesize($filename)); while (!feof($handle)) { echo fread($handle, 8192); } fclose($handle); } else { echo 'Fehler: Datei konnte nicht geoeffnet werden'; } } else { echo 'Die Datei existiert nicht'; } } }