mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2025-01-12 06:41:14 +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");
|
$action = $this->app->Secure->GetGET("action");
|
||||||
$id = $this->app->Secure->GetGET("id");
|
$id = $this->app->Secure->GetGET("id");
|
||||||
if($id)$this->app->Tpl->Set('ID',$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());
|
// Get files here
|
||||||
$this->app->erp->AddDateiVersion($datei, $this->app->User->GetName(), $_FILES['upload']['name'], "Neue Version", $_FILES['upload']['tmp_name']);
|
if ($speichern != "") {
|
||||||
header("Location: index.php?module=$module&action=$action&id=$id");
|
$retval = $this->FilesFromUploadtoDMS(null, null, $datei);
|
||||||
exit;
|
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('STARTDISABLE', "<!--");
|
||||||
$this->app->Tpl->Set('ENDEDISABLE', "-->");
|
$this->app->Tpl->Set('ENDEDISABLE', "-->");
|
||||||
$this->app->Tpl->Parse($parsetarget, "datei_neudirekt.tpl");
|
$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");
|
$id = $this->app->Secure->GetGET("id");
|
||||||
$sid = $this->app->Secure->GetGET("sid");
|
$sid = $this->app->Secure->GetGET("sid");
|
||||||
if($id)$this->app->Tpl->Set('ID', $id);
|
if($id)$this->app->Tpl->Set('ID', $id);
|
||||||
|
|
||||||
|
// Get files here
|
||||||
if ($speichern != "") {
|
if ($speichern != "") {
|
||||||
if($parameter == '')$parameter = $id;
|
if($parameter == '') {
|
||||||
if(isset($_POST['dateiv']))
|
$parameter = $id;
|
||||||
{
|
|
||||||
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:''));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
$retval = $this->FilesFromUploadtoDMS($objekt, $parameter);
|
||||||
|
if ($retval !== true) {
|
||||||
|
$this->app->Tpl->Set('ERROR', implode(', ',$retval));
|
||||||
$titel = $this->app->Secure->GetPOST("titel");
|
$this->app->erp->EnableTab("tabs-2");
|
||||||
$beschreibung = $this->app->Secure->GetPOST("beschreibung");
|
} else {
|
||||||
$stichwort = $this->app->Secure->GetPOST("stichwort");
|
header("Location: index.php?module=$_module&action=$_action&id=$id&sid=$sid".($typ!=''?"&typ=".$typ:''));
|
||||||
$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:''));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -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) {
|
function SortListAdd($parsetarget, &$ref, $menu, $sql, $sort = true) {
|
||||||
|
|
||||||
$module = $this->app->Secure->GetGET("module");
|
$module = $this->app->Secure->GetGET("module");
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<td colspan="4">[ERROR]</td>
|
<td colspan="4">[ERROR]</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr id="trdropfiles">
|
<tr id="trdropfiles">
|
||||||
<td colspan="4">
|
<td colspan="6">
|
||||||
<div id="drop-files" ondragover="return false">
|
<div id="drop-files" ondragover="return false">
|
||||||
{|Dateien hier einfügen|}
|
{|Dateien hier einfügen|}
|
||||||
</div>
|
</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]);
|
})(files[index]);
|
||||||
fileReader.readAsDataURL(file);
|
fileReader.readAsDataURL(file);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user