Example #1
0
/**
 * 
 * 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);
    }
}
Example #2
0
 $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';
Example #3
0
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);
         }
     }
 }
Example #6
0
/**
 * 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>&nbsp;</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">&nbsp;<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>&nbsp;</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">&nbsp;<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);
    }
}
Example #10
0
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';
        }
    }
}