/** * * Löscht das Dokument mit der vom Webservice übergebenen DMS-ID * @param $dms_id */ function deleteDokument($username, $passwort, $dms_id) { if (!($user = check_user($username, $passwort))) { return new SoapFault("Server", "Invalid Credentials"); } $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if (!$rechte->isBerechtigt('basis/notiz', null, 'suid')) { return new SoapFault("Server", "Sie haben keine Berechtigung zum Loeschen von Dokumenten"); } $dms = new dms(); if ($dms->deleteDms($dms_id)) { return "OK"; } else { return new SoapFault("Server", $dms->errormsg); } }
$error = false; // dms Eintrag anlegen if (isset($_POST['fileupload'])) { $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); $filename = uniqid(); $filename .= "." . $ext; $uploadfile = DMS_PATH . $filename; if (move_uploaded_file($_FILES['file']['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(); $dms->version = '0'; $dms->kategorie_kurzbz = $kategorie_kurzbz; $dms->insertamum = date('Y-m-d H:i:s'); //$dms->insertvon = $user; $dms->mimetype = $_FILES['file']['type']; $dms->filename = $filename; $dms->name = $_FILES['file']['name']; if ($dms->save(true)) { $dms_id = $dms->dms_id; } else { echo 'Fehler beim Speichern der Daten'; $error = true; } } else { echo 'Fehler beim Hochladen der Datei';
if (!$person->load($person_id)) { die('Konnte Person nicht laden'); } $message = ' '; $vollstaendig = '<span class="badge alert-success">vollständig <span class="glyphicon glyphicon-ok"></span></span>'; $unvollstaendig = '<span class="badge alert-danger">unvollständig <span class="glyphicon glyphicon-remove"></span></span>'; if ($method == 'delete') { $akte = new akte(); if (!$akte->load($akte_id)) { $message = "Ungueltige akte_id übergeben"; } else { if ($akte->person_id != $person_id) { die('Ungueltiger Zugriff'); } $dms_id = $akte->dms_id; $dms = new dms(); if ($akte->delete($akte_id)) { if (!$dms->deleteDms($dms_id)) { $message = "Konnte DMS Eintrag nicht löschen"; } else { $message = "Erfolgreich gelöscht"; } } else { $message = "Konnte Akte nicht Löschen"; } } } if (isset($_GET['rt_id'])) { $rt_id = filter_input(INPUT_GET, 'rt_id', FILTER_VALIDATE_INT); $pre_id = filter_input(INPUT_GET, 'pre', FILTER_VALIDATE_INT); if (isset($_GET['delete'])) {
/** * Erstellt ein neues Directory / Kategorie * @param name Name des Ordners */ function CreateDirectory($name) { $dms = new dms(); if (!$dms->loadKategorie($name)) { $dms->kategorie_kurzbz = $name; $dms->bezeichnung = $name; $dms->beschreibung = $name; $dms->parent_kategorie_kurzbz = $this->kategorie_kurzbz; if (!$dms->saveKategorie(true)) { throw new Sabre_DAV_Exception_MethodNotAllowed('Failed ' . $dms->errormsg); } } else { throw new Sabre_DAV_Exception_MethodNotAllowed('Directory already exists'); } }
/** * 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); } } }
/** * Zeichnet das Kategorie Menu * * @param $rows DMS Result Object */ function drawKategorieMenue($rows) { global $kategorie_kurzbz; //echo '<ul>'; foreach ($rows as $row) { if ($kategorie_kurzbz == $row->kategorie_kurzbz) { $class = 'marked'; } else { $class = ''; } $dms = new dms(); $dms->getKategorie($row->kategorie_kurzbz); $delete = '<a href="' . $_SERVER['PHP_SELF'] . '?delete&kategorie_kurzbz=' . $row->kategorie_kurzbz . '"><img src="../skin/images/cross.png" height="12px" title="Kategorie löschen" /></a>'; //Suchen, ob eine Sperre fuer diese Kategorie vorhanden ist $groups = $dms->getLockGroups($row->kategorie_kurzbz); $locked = ''; if (count($groups) > 0) { $locked = '<img src="../skin/images/login.gif" height="12px" title="Zugriff nur für Mitglieder folgender Gruppen:'; foreach ($groups as $group) { $locked .= " {$group} "; } $locked .= '"/>'; } if (count($dms->result) > 0) { echo ' <tr> <td class="tdwidth10" nowrap> </td> <td class="tdwrap"> <a href="' . $_SERVER['PHP_SELF'] . '?kategorie_kurzbz=' . $row->kategorie_kurzbz . '" class="MenuItem" onClick="js_toggle_container(\'' . $row->kategorie_kurzbz . '\');"><img src="../skin/images/menu_item.gif" alt="menu item" width="7" height="9"> <span class="' . $class . '">' . $row->bezeichnung . ' </span></a> ' . $locked . ' <table class="tabcontent" id="' . $row->kategorie_kurzbz . '" style="display: none;">'; drawKategorieMenue($dms->result); echo ' </table> </td> </tr>'; } else { echo ' <tr> <td class="tdwidth10" nowrap> </td> <td class="tdwrap"><a id="' . $row->kategorie_kurzbz . '" href="' . $_SERVER['PHP_SELF'] . '?kategorie_kurzbz=' . $row->kategorie_kurzbz . '" class="Item"><img src="../skin/images/menu_item.gif" alt="menu item" width="7" height="9"> <span class="' . $class . '">' . $row->bezeichnung . ' </span></a>' . $delete . $locked . '</td> </tr>'; } } //echo '</table>'; //echo '</ul>'; }
/** * 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>'; }
/** * 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));
/** * * Speichert die Zuordnung eines Dokuments zu einem Projekt oder einer Phase * @param $username * @param $passwort * @param $projekt_kurzbz * @param $projektphase_id * @param $dms_id */ function saveProjektdokumentZuordnung($username, $passwort, $projekt_kurzbz, $projektphase_id, $dms_id) { if (!($user = check_user($username, $passwort))) { return new SoapFault("Server", "Invalid Credentials"); } $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if (!$rechte->isBerechtigt('planner', null, 'sui')) { return new SoapFault("Server", "Sie haben keine Berechtigung zum Zuordnen von Dokumenten."); } $dms = new dms(); if ($dms->saveProjektzuordnung($dms_id, $projekt_kurzbz, $projektphase_id)) { return true; } else { return new SoapFault("Server", $dms->errormsg); } }
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'; } } }