mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-24 13:40:29 +01:00
Bugfix file upload dragndrop
This commit is contained in:
parent
2b43efca70
commit
09aacfbb7b
@ -14135,24 +14135,18 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
|
||||
$action = $this->app->Secure->GetGET("action");
|
||||
$id = $this->app->Secure->GetGET("id");
|
||||
if($id)$this->app->Tpl->Set('ID',$id);
|
||||
if ($speichern != "") {
|
||||
$titel = $this->app->Secure->GetPOST("titel");
|
||||
$beschreibung = $this->app->Secure->GetPOST("beschreibung");
|
||||
$stichwort = $this->app->Secure->GetPOST("stichwort");
|
||||
$this->app->Tpl->Set('TITLE', $titel);
|
||||
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
|
||||
|
||||
if ($_FILES['upload']['tmp_name'] == "") {
|
||||
$this->app->Tpl->Set('ERROR', "<div class=\"info\">Bitte wählen Sie eine Datei aus und laden Sie diese herauf!</div>");
|
||||
$this->app->erp->EnableTab("tabs-2");
|
||||
} else {
|
||||
|
||||
//$fileid = $this->app->erp->CreateDatei($_FILES['upload']['name'],$titel,$beschreibung,"",$_FILES['upload']['tmp_name'],$this->app->User->GetName());
|
||||
$this->app->erp->AddDateiVersion($datei, $this->app->User->GetName(), $_FILES['upload']['name'], "Neue Version", $_FILES['upload']['tmp_name']);
|
||||
header("Location: index.php?module=$module&action=$action&id=$id");
|
||||
exit;
|
||||
// Get files here
|
||||
if ($speichern != "") {
|
||||
$retval = $this->FilesFromUploadtoDMS(null, null, $datei);
|
||||
if ($retval !== true) {
|
||||
$this->app->Tpl->Set('ERROR', implode(', ',$retval));
|
||||
$this->app->erp->EnableTab("tabs-2");
|
||||
} else {
|
||||
header("Location: index.php?module=$module&action=$action&id=$id");
|
||||
}
|
||||
}
|
||||
|
||||
$this->app->Tpl->Set('STARTDISABLE', "<!--");
|
||||
$this->app->Tpl->Set('ENDEDISABLE', "-->");
|
||||
$this->app->Tpl->Parse($parsetarget, "datei_neudirekt.tpl");
|
||||
@ -14229,61 +14223,18 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
|
||||
$id = $this->app->Secure->GetGET("id");
|
||||
$sid = $this->app->Secure->GetGET("sid");
|
||||
if($id)$this->app->Tpl->Set('ID', $id);
|
||||
|
||||
// Get files here
|
||||
if ($speichern != "") {
|
||||
if($parameter == '')$parameter = $id;
|
||||
if(isset($_POST['dateiv']))
|
||||
{
|
||||
foreach($_POST['dateiv'] as $k => $v)
|
||||
{
|
||||
$name = $this->app->DB->real_escape_string($_POST['dateiname'][$k]);
|
||||
$titel = $this->app->DB->real_escape_string($_POST['dateititel'][$k]);
|
||||
$beschreibung = $this->app->DB->real_escape_string($_POST['beschreibung'][$k]);
|
||||
$stichwort = $this->app->DB->real_escape_string($_POST['dateistichwort'][$k]);
|
||||
|
||||
//$getMime = explode('.', $name);
|
||||
//$mime = end($getMime);
|
||||
|
||||
$data = explode(',', $v);
|
||||
|
||||
$encodedData = str_replace(' ','+',$data[1]);
|
||||
$decodedData = base64_decode($encodedData);
|
||||
|
||||
$this->app->Tpl->Set('TITLE', $titel);
|
||||
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
|
||||
|
||||
if ($v == "" ) {
|
||||
$this->app->Tpl->Set('ERROR', "<div class=\"error\">Keine Datei ausgewählt!</div>");
|
||||
$this->app->erp->EnableTab("tabs-2");
|
||||
} else {
|
||||
$fileid = $this->app->erp->CreateDatei($name, $titel, $beschreibung, "", $decodedData, $this->app->User->GetName());
|
||||
|
||||
// stichwoerter hinzufuegen
|
||||
$this->app->erp->AddDateiStichwort($fileid, $stichwort, $objekt, $parameter);
|
||||
}
|
||||
}
|
||||
if($_FILES['upload']['tmp_name'] == "")
|
||||
{
|
||||
header("Location: index.php?module=$_module&action=$_action&id=$id&sid=$sid".($typ!=''?"&typ=".$typ:''));
|
||||
}
|
||||
if($parameter == '') {
|
||||
$parameter = $id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$titel = $this->app->Secure->GetPOST("titel");
|
||||
$beschreibung = $this->app->Secure->GetPOST("beschreibung");
|
||||
$stichwort = $this->app->Secure->GetPOST("stichwort");
|
||||
$this->app->Tpl->Set('TITLE', $titel);
|
||||
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
|
||||
|
||||
if ($_FILES['upload']['tmp_name'] == "" && empty($_POST['dateiv'])) {
|
||||
$this->app->Tpl->Set('ERROR', "<div class=\"error\">Keine Datei ausgewählt!</div>");
|
||||
$this->app->erp->EnableTab("tabs-2");
|
||||
} elseif($_FILES['upload']['tmp_name'] != '') {
|
||||
$fileid = $this->app->erp->CreateDatei($_FILES['upload']['name'], $titel, $beschreibung, "", $_FILES['upload']['tmp_name'], $this->app->User->GetName());
|
||||
|
||||
// stichwoerter hinzufuegen
|
||||
$this->app->erp->AddDateiStichwort($fileid, $stichwort, $objekt, $parameter);
|
||||
header("Location: index.php?module=$_module&action=$_action&id=$id&sid=$sid".($typ!=''?"&typ=".$typ:''));
|
||||
$retval = $this->FilesFromUploadtoDMS($objekt, $parameter);
|
||||
if ($retval !== true) {
|
||||
$this->app->Tpl->Set('ERROR', implode(', ',$retval));
|
||||
$this->app->erp->EnableTab("tabs-2");
|
||||
} else {
|
||||
header("Location: index.php?module=$_module&action=$_action&id=$id&sid=$sid".($typ!=''?"&typ=".$typ:''));
|
||||
}
|
||||
}
|
||||
|
||||
@ -14551,6 +14502,87 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieve uploaded files and put them into DMS
|
||||
* $datei: given file, just add a new version
|
||||
* Return array of errors or true
|
||||
*/
|
||||
function FilesFromUploadtoDMS($objekt, $parameter, $datei = false) {
|
||||
|
||||
$retval = true;
|
||||
// Files come from drag'n'drop
|
||||
if(isset($_POST['dateiv']))
|
||||
{
|
||||
foreach($_POST['dateiv'] as $k => $v)
|
||||
{
|
||||
$name = $this->app->DB->real_escape_string($_POST['dateiname'][$k]);
|
||||
$titel = $this->app->DB->real_escape_string($_POST['dateititel'][$k]);
|
||||
$beschreibung = $this->app->DB->real_escape_string($_POST['dateibeschreibung'][$k]);
|
||||
$stichwort = $this->app->DB->real_escape_string($_POST['dateistichwort'][$k]);
|
||||
|
||||
$data = explode(',', $v);
|
||||
|
||||
$encodedData = str_replace(' ','+',$data[1]);
|
||||
$decodedData = base64_decode($encodedData);
|
||||
|
||||
$this->app->Tpl->Set('TITLE', $titel);
|
||||
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
|
||||
|
||||
if ($v == "" ) {
|
||||
$this->app->Tpl->Set('ERROR', "<div class=\"error\">Keine Datei ausgewählt!</div>");
|
||||
$this->app->erp->EnableTab("tabs-2");
|
||||
} else {
|
||||
// Save file to disk first
|
||||
$tempfilename = rtrim($this->app->erp->GetTMP(), '/') . "/" . $name;
|
||||
if($handle = fopen($tempfilename, "wb")){
|
||||
fwrite($handle, $decodedData);
|
||||
fclose($handle);
|
||||
// Add file to DMS
|
||||
if ($datei) {
|
||||
$this->app->erp->AddDateiVersion($datei, $this->app->User->GetName(), $name, "Neue Version", $tempfilename);
|
||||
} else {
|
||||
$fileid = $this->app->erp->CreateDatei($name, $titel, $beschreibung, "", $tempfilename, $this->app->User->GetName());
|
||||
// stichwoerter hinzufuegen
|
||||
$this->app->erp->AddDateiStichwort($fileid, $stichwort, $objekt, $parameter);
|
||||
}
|
||||
} else {
|
||||
if ($retval === true) {
|
||||
$retval = array();
|
||||
}
|
||||
$retval[] = "<div class=\"error\">Datei konnte nicht gespeichert werden: ".$name."</div>";
|
||||
}
|
||||
}
|
||||
}
|
||||
} // drag'n'drop
|
||||
// Single file comes from browse button
|
||||
else {
|
||||
$titel = $this->app->Secure->GetPOST("titel");
|
||||
$beschreibung = $this->app->Secure->GetPOST("beschreibung");
|
||||
$stichwort = $this->app->Secure->GetPOST("stichwort");
|
||||
$this->app->Tpl->Set('TITLE', $titel);
|
||||
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
|
||||
|
||||
if ($_FILES['upload']['tmp_name'] == "" && empty($_POST['dateiv'])) {
|
||||
$this->app->erp->EnableTab("tabs-2");
|
||||
if ($retval === true) {
|
||||
$retval = array();
|
||||
}
|
||||
$retval[] = "<div class=\"error\">Keine Datei ausgewählt!</div>";
|
||||
|
||||
} elseif ($_FILES['upload']['tmp_name'] != '') {
|
||||
if ($datei) {
|
||||
$this->app->erp->AddDateiVersion($datei, $this->app->User->GetName(), $_FILES['upload']['name'], "Neue Version", $_FILES['upload']['tmp_name']);
|
||||
}
|
||||
else {
|
||||
$fileid = $this->app->erp->CreateDatei($_FILES['upload']['name'], $titel, $beschreibung, "", $_FILES['upload']['tmp_name'], $this->app->User->GetName());
|
||||
// stichwoerter hinzufuegen
|
||||
$this->app->erp->AddDateiStichwort($fileid, $stichwort, $objekt, $parameter);
|
||||
}
|
||||
}
|
||||
}
|
||||
return($retval);
|
||||
}
|
||||
|
||||
function SortListAdd($parsetarget, &$ref, $menu, $sql, $sort = true) {
|
||||
|
||||
$module = $this->app->Secure->GetGET("module");
|
||||
|
@ -11,7 +11,7 @@
|
||||
<td colspan="4">[ERROR]</td>
|
||||
</tr>
|
||||
<tr id="trdropfiles">
|
||||
<td colspan="4">
|
||||
<td colspan="6">
|
||||
<div id="drop-files" ondragover="return false">
|
||||
{|Dateien hier einfügen|}
|
||||
</div>
|
||||
@ -333,8 +333,8 @@ $(document).ready(function() {
|
||||
}
|
||||
}
|
||||
|
||||
$('#trdatei').before('<tr><td>Datei '+vorschau+'</td><td class="tddateiname"><input type="hidden" name="dateiv[]" value="'+image+'" /><input type="hidden" name="dateiname[]" value="'+filenameEncoded+'" />'+filenameEncoded+'</td><td>Titel: <input type="text" name="dateititel[]" /></td><td><select name="dateistichwort[]">'+$('#stichwort').html()+'</select></td></tr>');
|
||||
};
|
||||
$('#trdatei').before(' <tr> <td>Datei '+vorschau+'</td> <td class="tddateiname"><input type="hidden" name="dateiv[]" value="'+image+'" /><input type="hidden" name="dateiname[]" value="'+filenameEncoded+'" />'+filenameEncoded+'</td> <td>Titel: <input type="text" name="dateititel[]" /></td> <td>{|Beschreibung|}:</td> <td><textarea name="dateibeschreibung[]" cols="50"></textarea></td> <td><select name="dateistichwort[]">'+$('#stichwort').html()+'</select></td> </tr> ');
|
||||
};
|
||||
|
||||
})(files[index]);
|
||||
fileReader.readAsDataURL(file);
|
||||
|
Loading…
Reference in New Issue
Block a user