mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Upload von Dokumenten über einen externen Ordner
Extension zu Filename speichern Versionsübersicht implementiert In Suche Files kennzeichen, bei denen es eine neuere Version gibt
This commit is contained in:
+228
-58
@@ -22,6 +22,8 @@
|
||||
require_once('../config/cis.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/dms.class.php');
|
||||
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//DE"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
@@ -77,11 +79,13 @@ require_once('../include/dms.class.php');
|
||||
if(typeof(id)!='undefined')
|
||||
{
|
||||
$('#dms_id').val(id);
|
||||
$('#dms_id_import').val(id);
|
||||
$('#ueberschrift').html('Neue Version von '+name);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#dms_id').val('');
|
||||
$('#dms_id_import').val('');
|
||||
$('#ueberschrift').html('Neue Datei:');
|
||||
}
|
||||
return false;
|
||||
@@ -90,9 +94,14 @@ require_once('../include/dms.class.php');
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
|
||||
$user = get_uid();
|
||||
$kategorie_kurzbz = isset($_REQUEST['kategorie_kurzbz'])?$_REQUEST['kategorie_kurzbz']:'';
|
||||
$searchstring = isset($_REQUEST['searchstring'])?$_REQUEST['searchstring']:'';
|
||||
$importFile = isset($_REQUEST['importFile'])?$_REQUEST['importFile']:'';
|
||||
$versionId = isset($_REQUEST['versionid'])?$_REQUEST['versionid']:'';
|
||||
$suche = false;
|
||||
|
||||
$mimetypes = array(
|
||||
'application/pdf'=>'pdf.ico',
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'=>'word2007.jpg',
|
||||
@@ -104,14 +113,67 @@ $mimetypes = array(
|
||||
|
||||
);
|
||||
|
||||
|
||||
// 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->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;
|
||||
$dms->kategorie_kurzbz=$kategorie_kurzbz;
|
||||
|
||||
if($dms->save(true))
|
||||
{
|
||||
echo 'File wurde erfolgreich hochgeladen. Filename:'.$filename.' ID:'.$dms->dms_id;
|
||||
$dms_id=$dms->dms_id;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Speichern der Daten';
|
||||
|
||||
/*if(!chgrp($filename,'dms'))
|
||||
echo 'CHGRP failed';
|
||||
if(!chmod($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))
|
||||
{
|
||||
$dms = new dms();
|
||||
@@ -152,61 +214,158 @@ if(isset($_POST['fileupload']))
|
||||
}
|
||||
}
|
||||
|
||||
echo '<h1>Dokument Auswählen</h1>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
|
||||
<input type="text" name="searchstring" value="'.$searchstring.'">
|
||||
<input type="submit" value="Suchen">
|
||||
</form>
|
||||
<table cellspacing=0>
|
||||
<tr>
|
||||
<td valign="top" nowrap style="border-right: 1px solid lightblue;border-top: 1px solid lightblue;padding-right:5px">
|
||||
<h3>Kategorie:</h3>
|
||||
';
|
||||
//Kategorien anzeigen
|
||||
|
||||
$dms = new dms();
|
||||
$dms->getKategorie();
|
||||
drawKategorieMenue($dms->result);
|
||||
|
||||
echo '</td>
|
||||
<td valign="top" style="border-top: 1px solid lightblue; width: 100%;">';
|
||||
//Dokumente der Ausgewaehlten Kategorie laden und Anzeigen
|
||||
$dms = new dms();
|
||||
|
||||
if($searchstring!='')
|
||||
{
|
||||
$dms->search($searchstring);
|
||||
if($versionId != '')
|
||||
{
|
||||
// Übersicht der Versionen
|
||||
echo '<h1>Versionsübersicht</h1>';
|
||||
echo '<span style="float:right";><a href="'.$_SERVER['PHP_SELF'].'">zurück</a></span>';
|
||||
drawAllVersions($versionId);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$dms->getDocuments($kategorie_kurzbz);
|
||||
}
|
||||
|
||||
//drawFilesThumb($dms->result);
|
||||
drawFilesList($dms->result);
|
||||
|
||||
echo '
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
echo '<h1>Dokument Auswählen</h1>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
|
||||
<input type="text" name="searchstring" value="'.$searchstring.'">
|
||||
<input type="submit" value="Suchen">
|
||||
</form>';
|
||||
|
||||
// Suche anzeigen
|
||||
echo' <table cellspacing=0>
|
||||
<tr>
|
||||
<td valign="top" nowrap style="border-right: 1px solid lightblue;border-top: 1px solid lightblue;padding-right:5px">
|
||||
<h3>Kategorie:</h3>
|
||||
';
|
||||
//Kategorien anzeigen
|
||||
$dms = new dms();
|
||||
$dms->getKategorie();
|
||||
drawKategorieMenue($dms->result);
|
||||
|
||||
echo '</td>
|
||||
<td valign="top" style="border-top: 1px solid lightblue; width: 100%;">';
|
||||
//Dokumente der Ausgewaehlten Kategorie laden und Anzeigen
|
||||
$dms = new dms();
|
||||
|
||||
<br>
|
||||
<a href="#Upload" onclick="return upload()">Neue Datei hochladen</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
if($searchstring!='')
|
||||
{
|
||||
$dms->search($searchstring);
|
||||
$suche = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$dms->getDocuments($kategorie_kurzbz);
|
||||
}
|
||||
|
||||
//drawFilesThumb($dms->result);
|
||||
drawFilesList($dms->result);
|
||||
|
||||
echo '
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<a href="#Upload" onclick="return upload()">Neue Datei hochladen</a>
|
||||
<br><br>
|
||||
<div id="divupload">
|
||||
<hr>
|
||||
<span id="ueberschrift"></span>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'" method="POST" enctype="multipart/form-data">
|
||||
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'">
|
||||
<input type="hidden" name="dms_id" id="dms_id" value="">
|
||||
<input type="file" name="userfile">
|
||||
<input type="submit" name="fileupload" value="Upload">
|
||||
</form>
|
||||
<h3>Files im Import Ordner</h3>';
|
||||
drawFilesFromImport();
|
||||
echo'
|
||||
</div>';
|
||||
}
|
||||
|
||||
<div id="divupload">
|
||||
<hr>
|
||||
<span id="ueberschrift"></span>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'" method="POST" enctype="multipart/form-data">
|
||||
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'">
|
||||
<input type="hidden" name="dms_id" id="dms_id" value="">
|
||||
<input type="file" name="userfile">
|
||||
<input type="submit" name="fileupload" value="Upload">
|
||||
</form>
|
||||
</div>';
|
||||
|
||||
|
||||
/************ FUNCTIONS ********************/
|
||||
|
||||
/**
|
||||
* Zeigt alle Versionen des Dokumentes an
|
||||
*
|
||||
* @param $id DokumentID die angezeigt werden soll
|
||||
*/
|
||||
function drawAllVersions($id)
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->getAllVersions($id);
|
||||
|
||||
echo '<table >
|
||||
<tr align="center">
|
||||
<td>Version</td>
|
||||
<td>Name</td>
|
||||
<td>Kategorie</td>
|
||||
<td>Datum</td>
|
||||
<td>User</td>
|
||||
</tr>';
|
||||
foreach ($dms->result as $dms_help)
|
||||
{
|
||||
echo '<tr>
|
||||
<td align="center">'.$dms_help->version.'</td>
|
||||
<td>'.$dms_help->name.'</td>
|
||||
<td align="center">'.$dms_help->kategorie_kurzbz.'</td>
|
||||
<td>'.$dms_help->insertamum.'</td>
|
||||
<td>'.$dms_help->insertvon.'</td>
|
||||
<td>
|
||||
<ul class="sf-menu">
|
||||
<li><a style="font-size:small">Erweitert</a>
|
||||
<ul>
|
||||
<li><a href="dms.php?id='.$dms_help->dms_id.'&version='.$dms_help->version.'" style="font-size:small" target="_blank">Herunterladen</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</table>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Liest die Files aus dem Importverzeichnis aus
|
||||
*
|
||||
*/
|
||||
function drawFilesFromImport()
|
||||
{
|
||||
global $kategorie_kurzbz;
|
||||
if ($handle = opendir(IMPORT_PATH))
|
||||
{
|
||||
echo '<table> <form action ="'.$_SERVER['PHP_SELF'].'" method="POST" name="import" >';
|
||||
|
||||
while (false !== ($file = readdir($handle)))
|
||||
{
|
||||
if($file != '.' && $file != '..')
|
||||
{
|
||||
echo'
|
||||
<tr>
|
||||
<td><img src="../skin/images/blank.png" style="height: 15px">
|
||||
<a> '.$file.'</a>
|
||||
</td>
|
||||
<td>
|
||||
<ul class="sf-menu">
|
||||
<li><a style="font-size:small">Erweitert</a>
|
||||
<ul>
|
||||
<li><a onclick="document.import.importFile.value=\''.$file.'\';document.import.submit();" style="font-size:small">Upload</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
echo'
|
||||
<input type="hidden" name="dms_id_import" id="dms_id_import" value="">
|
||||
<input type="hidden" name="importFile" value="">
|
||||
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'">
|
||||
</form></table>';
|
||||
closedir($handle);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Zeichnet das Kategorie Menu
|
||||
*
|
||||
@@ -244,7 +403,8 @@ function drawKategorieMenue($rows)
|
||||
*/
|
||||
function drawFilesList($rows)
|
||||
{
|
||||
global $mimetypes;
|
||||
global $mimetypes, $suche;
|
||||
$dms = new dms();
|
||||
echo '
|
||||
<table>
|
||||
';
|
||||
@@ -258,22 +418,31 @@ function drawFilesList($rows)
|
||||
echo '<img src="../skin/images/'.$mimetypes[$row->mimetype].'" style="height: 15px">';
|
||||
else
|
||||
echo '<img src="../skin/images/blank.png" style="height: 15px">';
|
||||
$newVersion = '';
|
||||
if($dms->checkVersion($row->dms_id, $row->version))
|
||||
$newVersion = '*';
|
||||
|
||||
echo'
|
||||
<a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.'); return false;" style="font-size: small" title="'.$row->beschreibung.'">
|
||||
'.$row->name.'</a>
|
||||
</td>
|
||||
|
||||
<td>';
|
||||
'.$row->name.' '.$newVersion.'</a>
|
||||
</td>';
|
||||
|
||||
echo '<td>';
|
||||
// zeige bei suche auch kategorie an
|
||||
if($suche == true)
|
||||
{
|
||||
echo $row->kategorie_kurzbz;
|
||||
}
|
||||
echo'</td><td>';
|
||||
|
||||
//Upload einer neuen Version
|
||||
echo '<ul class="sf-menu">
|
||||
<li><a href="id://'.$row->dms_id.'/Erweitert" style="font-size:small">Erweitert</a>
|
||||
<ul>
|
||||
<li><a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.');" style="font-size:small">Auswählen</a></li>
|
||||
<li><a href="dms.php?id='.$row->dms_id.'" style="font-size:small" target="_blank">Herunterladen</a></li>
|
||||
<li><a href="dms.php?id='.$row->dms_id.'&version='.$row->version.'" style="font-size:small" target="_blank">Herunterladen</a></li>
|
||||
<li><a href="id://'.$row->dms_id.'/Upload" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small">Neue Version hochladen</a></li>
|
||||
<li><a href="id://'.$row->dms_id.'/ShowAll" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small" >Alle Versionen anzeigen</a></li>
|
||||
<li><a href="'.$_SERVER['PHP_SELF'].'?versionid='.$row->dms_id.'" style="font-size:small" >Alle Versionen anzeigen</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>';
|
||||
@@ -283,6 +452,7 @@ function drawFilesList($rows)
|
||||
}
|
||||
echo '
|
||||
</table>';
|
||||
$suche = false;
|
||||
}
|
||||
/**
|
||||
* Zeichnet die Files mit Vorschau
|
||||
@@ -322,7 +492,7 @@ function drawFilesThumb($rows)
|
||||
<li><a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.');" style="font-size:small">'.$row->name.'</a>
|
||||
<ul>
|
||||
<li><a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.');" style="font-size:small">Auswählen</a></li>
|
||||
<li><a href="dms.php?id='.$row->dms_id.'" style="font-size:small" target="_blank">Herunterladen</a></li>
|
||||
<li><a href="dms.php?id='.$row->dms_id.'&version='.$row->version.'" style="font-size:small" target="_blank">Herunterladen</a></li>
|
||||
<li><a href="id://'.$row->dms_id.'/Upload" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small">Neue Version hochladen</a></li>
|
||||
<li><a href="id://'.$row->dms_id.'/ShowAll" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small" >Alle Versionen anzeigen</a></li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user