From ef13e6189635977fdb99fd429e7c83743024beee Mon Sep 17 00:00:00 2001 From: Xenomporio <> Date: Tue, 24 May 2022 08:50:43 +0200 Subject: [PATCH] Bugfix dateien --- www/pages/dateien.php | 770 +++++++++++++++++++++--------------------- 1 file changed, 385 insertions(+), 385 deletions(-) diff --git a/www/pages/dateien.php b/www/pages/dateien.php index e42d444f..99ab74ba 100644 --- a/www/pages/dateien.php +++ b/www/pages/dateien.php @@ -1,388 +1,388 @@ -Secure->GetGET("id"); - $sid = $app->Secure->GetGET("sid"); - if($sid > 0) $id = $sid; - - // alle artikel die ein Kunde kaufen kann mit preisen netto brutto - $cmd = $app->Secure->GetGET("smodule"); - $cmd = strtolower($_objekt); - $adresse = $app->DB->Select("SELECT adresse FROM {$cmd} WHERE id='$id' LIMIT 1"); - - // headings - $heading = array('','','','Titel', 'Stichwort', 'Version','Größe', 'Ersteller','Version','Datum','Menü'); - $width = array('1%','1%','10','40%', '15%', '5%','10%','15%', '10%', '10%','15%', '10%','5%'); - $findcols = array('open','d.id','d.id','d.titel', 's.subjekt', 'v.version','v.size', 'v.ersteller','v.bemerkung','v.datum', 's.id'); - $searchsql = array('d.titel', 's.subjekt', 'v.version','v.size', 'v.ersteller','v.bemerkung','v.dateiname'); - - //$menu = "
Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\"> Conf->WFconf['defaulttheme']}/images/download.svg\" border=\"0\"> Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\" >
"; - $menu = "
Conf->WFconf['defaulttheme']}/images/download.svg\" border=\"0\"> Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\" >
"; - $menucol = 10; - $alignright=array(6,7); - - if(!function_exists('imagejpeg')) - { - $img = "'Conf->WFconf['defaulttheme']}/images/icon_img_error.png title=\"Keine GD-Erweiterung installiert\" />'"; - }else{ - $img = "concat('')"; - } - - // SQL statement - $sql = "SELECT SQL_CALC_FOUND_ROWS d.id,'Conf->WFconf['defaulttheme']}/images/details_open.png class=details>' as open,concat(''), - $img, - - if(d.titel!='',CONCAT(d.titel,'
',v.dateiname,''),v.dateiname), s.subjekt, v.version, if(v.size!='',if(v.size > 1024*1024,CONCAT(ROUND(v.size/1024/1024,2),' MB'),CONCAT(ROUND(v.size/1024,2),' KB')),''), v.ersteller, v.bemerkung, DATE_FORMAT(v.datum, '%d.%m.%Y'), d.id FROM - datei d LEFT JOIN datei_stichwoerter s ON d.id=s.datei LEFT JOIN datei_version v ON v.datei=d.id "; - - parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY), $queries); - switch($queries['module']) - { - case "adresse": $objekt="adressen"; break; - default: $objekt=$queries['module']; - } - - //if(!ctype_alpha($objekt))$objekt=""; - - if(!preg_match('/[A-Za-z_]/', $objekt))$objekt=""; - - - - $parameter=$id; - $moreinfo = true; - $moreinfomodule = 'dateien'; - // fester filter - $where = "s.objekt LIKE '$_objekt' AND s.parameter='$parameter' AND d.geloescht=0"; - - $count = "SELECT COUNT(d.id) FROM datei d LEFT JOIN datei_stichwoerter s ON d.id=s.datei - LEFT JOIN datei_version v ON v.datei=d.id WHERE $where"; - - } - $erg = []; - - foreach($erlaubtevars as $k => $v) - { - if(isset($$v)) { - $erg[$v] = $$v; - } - } - return $erg; - } - - function __construct($app, $intern = false) { - //parent::GenDateien($app); - $this->app=$app; - if($intern) { - return; - } - $this->id = $this->app->Secure->GetGET("id"); - - $this->app->Tpl->Set('ID', $this->id ); - $this->app->ActionHandlerInit($this); - - $this->app->ActionHandler("create","DateienCreate"); - $this->app->ActionHandler("edit","DateienEdit"); - $this->app->ActionHandler("list","DateienList"); - $this->app->ActionHandler("archiv","DateienArchiv"); - $this->app->ActionHandler("artikel","DateienArtikel"); - $this->app->ActionHandler("send","DateienSend"); - $this->app->ActionHandler("delete","DateienDelete"); - $this->app->ActionHandler("zahlung","DateienZahlung"); - $this->app->ActionHandler("protokoll","DateienProtokoll"); - $this->app->ActionHandler("abschicken","DateienAbschicken"); - $this->app->ActionHandler("freigabe","DateienFreigabe"); - $this->app->ActionHandler("delete","DateienDelete"); - $this->app->ActionHandler("listfreigegebene","DateienListFreigegebene"); - $this->app->ActionHandler("kundeuebernehmen","DateienKundeuebernehmen"); - $this->app->ActionHandler("versand","DateienVersand"); - $this->app->ActionHandler("lieferadresseneu","DateienLieferadresseNeu"); - $this->app->ActionHandler("download","DateienDownload"); - $this->app->ActionHandler("minidetail","DateienMinidetail"); - $this->app->ActionHandler("lieferadresseauswahl","DateienLieferadresseAuswahl"); - $this->app->ActionHandler("popup","DateienPopup"); - - $this->app->ActionHandlerListen($app); - } - - function DateienPopup() - { - $this->app->BuildNavigation = false; - $this->app->PopupJS = true; - $typ = $this->app->Secure->GetGET('typ'); - $typid = $this->app->Secure->GetGET('typid'); - if($this->app->Secure->GetGET('cmd')==='getanz') - { - echo json_encode(array('anz'=>$this->app->DB->Select("SELECT COUNT(d.id) FROM datei d LEFT JOIN datei_stichwoerter s ON d.id=s.datei - LEFT JOIN datei_version v ON v.datei=d.id WHERE s.objekt LIKE '$typ' AND s.parameter='$typid' AND d.geloescht=0"))); - $this->app->ExitXentral(); - } - $this->app->YUI->TableSearch('TAB1', "dateien_popup_".$typ, "show","","",basename(__FILE__), __CLASS__); - $parameter = array('module'=>$typ,'action'=>'popup','popup'=>true); - if(is_numeric($typid)) - { - $id = $typid; - }else{ - $id = ''; - $parameter['idelement'] = $typid; - } - $this->app->YUI->DateiUpload('PAGE',$typ,$id,$parameter); - } - - function DateienMinidetail() - { - $id = (int)$this->app->Secure->GetGET('id'); - echo "

Beschreibung:

"; - echo nl2br($this->app->DB->Select("SELECT beschreibung FROM datei WHERE id = '$id' LIMIT 1")); - $this->app->ExitXentral(); - } - - function DateienHauptMenu() - { - $this->app->erp->Headlines('Dateien'); - } - - - function DateienList() - { - $this->DateienHauptMenu(); - - /* Dateiene zur Nachbesserung */ - $this->app->Tpl->Set('HEADING','Dateien'); - - $this->app->Tpl->Set('SUBHEADING','Neuste Dateien'); - //Jeder der in Nachbesserung war egal ob auto oder manuell wandert anschliessend in Manuelle-Freigabe"); - $table = new EasyTable($this->app); - $table->Query("SELECT d.titel, s.subjekt, v.version, v.ersteller, v.bemerkung, d.id FROM datei d LEFT JOIN datei_stichwoerter s ON d.id=s.datei LEFT JOIN datei_version v ON v.datei=d.id ORDER by d.id DESC LIMIT 10"); - $table->Display('INHALT'); - $this->app->Tpl->Parse('PAGE',"rahmen.tpl"); - $this->app->Tpl->Set('INHALT',''); - } - - function DateienDownload() - { - $typ = $this->app->Secure->GetGET('typ'); - $id = (int)$this->app->Secure->GetGET('id'); - $erlaubt = false; - if($typ && $id) - { - switch($typ) - { - case "bestellung": - case "angebot": - case "lieferschein": - case "rechnung": - case "gutschrift": - case "auftrag": - case "arbeitsnachweis": - case "brieffax": - if($this->app->erp->RechteVorhanden($typ,'edit'))$erlaubt = true; - break; - case "brieffax": - if($this->app->erp->RechteVorhanden('adresse','brief'))$erlaubt = true; - $typ = "dokument"; - break; - } - if($erlaubt) - { - $dateianhang = $this->app->DB->SelectArr("SELECT ds.id, ds.datei, d.titel FROM datei_stichwoerter ds INNER JOIN datei d on ds.datei = d.id where d.geloescht <> 1 AND ds.datei = '$id' AND objekt like '$typ' LIMIT 1"); - if($dateianhang) - { - $dateianhang = reset($dateianhang); - $this->app->erp->SendDatei($id); - $this->app->ExitXentral(); - } - } else { - echo "Fehlende Rechte"; - $this->app->ExitXentral(); - } - } - echo "Fehler"; - $this->app->ExitXentral(); - } - - - function DateienMenu() - { - $id = $this->app->Secure->GetGET("id"); - - $this->app->Tpl->Add('TABS',"Dateien "); - $this->app->Tpl->Add('TABS',"Artikel "); - $this->app->Tpl->Add('TABS',"Zahlungsinformation "); - $this->app->Tpl->Add('TABS',"Versand "); - $this->app->Tpl->Add('TABS',"Abschicken "); - $this->app->Tpl->Add('TABS',"Zurück zur Übersicht "); - } - - function DateienCreate() - { - $id = $this->id; - $this->DateienHauptMenu(); - - - $speichern = $this->app->Secure->GetPOST("speichern"); - if($speichern !='') - { - $titel= $this->app->Secure->GetPOST("titel"); - $beschreibung= $this->app->Secure->GetPOST("beschreibung"); - $nummer= $this->app->Secure->GetPOST("nummer"); - $subjekt= $this->app->Secure->GetPOST("subjekt"); - $objekt= $this->app->Secure->GetPOST("objekt"); - - $this->app->Tpl->Set('TITLE',$titel); - $this->app->Tpl->Set('BESCHREIBUNG',$beschreibung); - $this->app->Tpl->Set('NUMMER',$nummer); - $this->app->Tpl->Set('SUBJEKT',$subjekt); - $this->app->Tpl->Set('OBJEKT',$objekt); - - if($_FILES['upload']['tmp_name']=='') - { - $this->app->Tpl->Set('ERROR',"
Bitte wählen Sie eine Datei aus und laden Sie diese herauf!
"); - } else { - // nach /tmp - //move_uploaded_file($_FILES['upload']['tmp_name'],"//".$_FILES['upload']['name'])){ - $fileid = $this->app->erp->CreateDatei($_FILES['upload']['name'],$titel,$beschreibung,$nummer,$_FILES['upload']['tmp_name'],$this->app->User->GetName()); - - // stichwoerter hinzufuegen - $this->app->erp->AddDateiStichwort($fileid,$subjekt,$objekt); - $this->app->Location->execute('index.php?module=dateien&action=edit&id='.$fileid); - //loeschen von /tmp - } - - } - //$this->DateienMenu(); - $this->app->Tpl->Set('HEADING',"Datei (Neu)"); - $this->app->Tpl->Parse('PAGE',"datei_neu.tpl"); - } - - function DateienEdit() - { - $id = $this->app->Secure->GetGET("id"); - - $this->DateienHauptMenu(); - $this->app->YUI->DateiUploadNeuVersion('NEUEVERSION',$id); - - $speichern = $this->app->Secure->GetPOST("speichern"); - if($speichern !="") - { - $titel= $this->app->Secure->GetPOST("titel"); - $beschreibung= $this->app->Secure->GetPOST("beschreibung"); - - $this->app->DB->Update("UPDATE datei SET titel='$titel', beschreibung='$beschreibung' WHERE id='$id' LIMIT 1"); - } - - $titel = $this->app->DB->Select("SELECT titel FROM datei WHERE id='$id' LIMIT 1"); - $beschreibung = $this->app->DB->Select("SELECT beschreibung FROM datei WHERE id='$id' LIMIT 1"); - $nummer= $this->app->DB->Select("SELECT nummer FROM datei WHERE id='$id' LIMIT 1"); - - - $this->app->Tpl->Set('TITEL',$titel); - $this->app->Tpl->Set('KURZUEBERSCHRIFT2',$titel); - $this->app->Tpl->Set('BESCHREIBUNG',$beschreibung); - $this->app->Tpl->Set('NUMMER',$nummer); - - $table = new EasyTable($this->app); - $table->Query("SELECT version,dateiname,datum,ersteller,bemerkung,id FROM datei_version WHERE datei='$id'"); - $table->DisplayNew('VERSIONEN'," - - - - ", - ""); - - - $table = new EasyTable($this->app); - $table->Query("SELECT subjekt,objekt,parameter FROM datei_stichwoerter WHERE datei='$id'"); - $table->DisplayNew('STICHWORTE',"Parameter","noAction"); - - $this->app->Tpl->Set('HEADING',"Datei (Bearbeiten)"); - $this->app->Tpl->Parse('PAGE',"datei.tpl"); - } - - - function DateienSend() - { - $fid = $this->app->Secure->GetGET('fid'); - $id = $this->app->Secure->GetGET('id'); - $this->app->erp->SendDatei($id,$fid); - $this->app->ExitXentral(); - } - - function DateienDelete() - { - $fid = $this->app->Secure->GetGET("fid"); - $id = $this->app->Secure->GetGET("id"); - $cmd = urldecode($this->app->Secure->GetGET("cmd")); - - $this->app->erp->RunHook('LayouttemplateAttachmentItemsDelete', 2, $id, $cmd); - - $version = $this->app->Secure->GetGET("version"); - if($version!='') - { - if(is_numeric($fid)){ - $this->app->DB->Delete("DELETE FROM datei_version WHERE id='$fid' AND datei='$id' LIMIT 1"); - } - // TODO Datei aus dem Dateisystem entfernen - $this->app->Location->execute("index.php?module=dateien&action=edit&id=$id"); - } - // stichweoeter loeschen - if(is_numeric($id)){ - - if($cmd!="") - { - $this->app->DB->Delete("DELETE FROM datei_stichwoerter WHERE datei='$id' AND objekt LIKE '$cmd' LIMIT 1"); - } else { - $this->app->DB->Delete("DELETE FROM datei_stichwoerter WHERE datei='$id'"); - } - - $check = $this->app->DB->Select("SELECT COUNT(id) FROM datei_stichwoerter WHERE datei='$id'"); - if($check <=0) - { - $this->app->DB->Delete("DELETE FROM datei_version WHERE datei='$id'"); - $this->app->DB->Update("UPDATE datei SET geloescht=1 WHERE id='$id'"); - } - } - $refer = $_SERVER['HTTP_REFERER']; - $this->app->Location->execute($refer); - } - - function DateienProtokoll() - { - $this->app->Tpl->Set('PROTOKOLL',"pro tabelle"); - - $this->DateienMenu(); - $this->app->Tpl->Set('HEADING',"Dateien (Protokoll)"); - $this->app->Tpl->Parse('PAGE',"dateien_protokoll.tpl"); - } -} - +Secure->GetGET("id"); + $sid = $app->Secure->GetGET("sid"); + if($sid > 0) $id = $sid; + + // alle artikel die ein Kunde kaufen kann mit preisen netto brutto + $cmd = $app->Secure->GetGET("smodule"); + $cmd = strtolower($_objekt); + $adresse = $app->DB->Select("SELECT adresse FROM {$cmd} WHERE id='$id' LIMIT 1"); + + // headings + $heading = array('','','','Titel', 'Stichwort', 'Version','Größe', 'Ersteller','Version','Datum','Menü'); + $width = array('1%','1%','10','40%', '15%', '5%','10%','15%', '10%', '10%','15%', '10%','5%'); + $findcols = array('open','d.id','d.id','d.titel', 's.subjekt', 'v.version','v.size', 'v.ersteller','v.bemerkung','v.datum', 's.id'); + $searchsql = array('d.titel', 's.subjekt', 'v.version','v.size', 'v.ersteller','v.bemerkung','v.dateiname'); + + //$menu = "
Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\"> Conf->WFconf['defaulttheme']}/images/download.svg\" border=\"0\"> Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\" >
"; + $menu = "
Conf->WFconf['defaulttheme']}/images/download.svg\" border=\"0\"> Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\" >
"; + $menucol = 10; + $alignright=array(6,7); + + if(!function_exists('imagejpeg')) + { + $img = "'Conf->WFconf['defaulttheme']}/images/icon_img_error.png title=\"Keine GD-Erweiterung installiert\" />'"; + }else{ + $img = "concat('')"; + } + + // SQL statement + $sql = "SELECT SQL_CALC_FOUND_ROWS d.id,'Conf->WFconf['defaulttheme']}/images/details_open.png class=details>' as open,concat(''), + $img, + + if(d.titel!='',CONCAT(d.titel,'
',v.dateiname,''),v.dateiname), s.subjekt, v.version, if(v.size!='',if(v.size > 1024*1024,CONCAT(ROUND(v.size/1024/1024,2),' MB'),CONCAT(ROUND(v.size/1024,2),' KB')),''), v.ersteller, v.bemerkung, DATE_FORMAT(v.datum, '%d.%m.%Y'), d.id FROM + datei d LEFT JOIN datei_stichwoerter s ON d.id=s.datei LEFT JOIN datei_version v ON v.datei=d.id "; + + parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY), $queries); + switch($queries['module']) + { + case "adresse": $objekt="adressen"; break; + default: $objekt=$queries['module']; + } + + //if(!ctype_alpha($objekt))$objekt=""; + + if(!preg_match('/[A-Za-z_]/', $objekt))$objekt=""; + + + + $parameter=$id; + $moreinfo = true; + $moreinfomodule = 'dateien'; + // fester filter + $where = "s.objekt LIKE '$_objekt' AND s.parameter='$parameter' AND d.geloescht=0"; + + $count = "SELECT COUNT(d.id) FROM datei d LEFT JOIN datei_stichwoerter s ON d.id=s.datei + LEFT JOIN datei_version v ON v.datei=d.id WHERE $where"; + + } + $erg = []; + + foreach($erlaubtevars as $k => $v) + { + if(isset($$v)) { + $erg[$v] = $$v; + } + } + return $erg; + } + + function __construct($app, $intern = false) { + //parent::GenDateien($app); + $this->app=$app; + if($intern) { + return; + } + $this->id = $this->app->Secure->GetGET("id"); + + $this->app->Tpl->Set('ID', $this->id ); + $this->app->ActionHandlerInit($this); + + $this->app->ActionHandler("create","DateienCreate"); + $this->app->ActionHandler("edit","DateienEdit"); + $this->app->ActionHandler("list","DateienList"); + $this->app->ActionHandler("archiv","DateienArchiv"); + $this->app->ActionHandler("artikel","DateienArtikel"); + $this->app->ActionHandler("send","DateienSend"); + $this->app->ActionHandler("delete","DateienDelete"); + $this->app->ActionHandler("zahlung","DateienZahlung"); + $this->app->ActionHandler("protokoll","DateienProtokoll"); + $this->app->ActionHandler("abschicken","DateienAbschicken"); + $this->app->ActionHandler("freigabe","DateienFreigabe"); + $this->app->ActionHandler("delete","DateienDelete"); + $this->app->ActionHandler("listfreigegebene","DateienListFreigegebene"); + $this->app->ActionHandler("kundeuebernehmen","DateienKundeuebernehmen"); + $this->app->ActionHandler("versand","DateienVersand"); + $this->app->ActionHandler("lieferadresseneu","DateienLieferadresseNeu"); + $this->app->ActionHandler("download","DateienDownload"); + $this->app->ActionHandler("minidetail","DateienMinidetail"); + $this->app->ActionHandler("lieferadresseauswahl","DateienLieferadresseAuswahl"); + $this->app->ActionHandler("popup","DateienPopup"); + + $this->app->ActionHandlerListen($app); + } + + function DateienPopup() + { + $this->app->BuildNavigation = false; + $this->app->PopupJS = true; + $typ = $this->app->Secure->GetGET('typ'); + $typid = $this->app->Secure->GetGET('typid'); + if($this->app->Secure->GetGET('cmd')==='getanz') + { + echo json_encode(array('anz'=>$this->app->DB->Select("SELECT COUNT(d.id) FROM datei d LEFT JOIN datei_stichwoerter s ON d.id=s.datei + LEFT JOIN datei_version v ON v.datei=d.id WHERE s.objekt LIKE '$typ' AND s.parameter='$typid' AND d.geloescht=0"))); + $this->app->ExitXentral(); + } + $this->app->YUI->TableSearch('TAB1', "dateien_popup_".$typ, "show","","",basename(__FILE__), __CLASS__); + $parameter = array('module'=>$typ,'action'=>'popup','popup'=>true); + if(is_numeric($typid)) + { + $id = $typid; + }else{ + $id = ''; + $parameter['idelement'] = $typid; + } + $this->app->YUI->DateiUpload('PAGE',$typ,$id,$parameter); + } + + function DateienMinidetail() + { + $id = (int)$this->app->Secure->GetGET('id'); + echo "

Beschreibung:

"; + echo nl2br($this->app->DB->Select("SELECT beschreibung FROM datei WHERE id = '$id' LIMIT 1")); + $this->app->ExitXentral(); + } + + function DateienHauptMenu() + { + $this->app->erp->Headlines('Dateien'); + } + + + function DateienList() + { + $this->DateienHauptMenu(); + + /* Dateiene zur Nachbesserung */ + $this->app->Tpl->Set('HEADING','Dateien'); + + $this->app->Tpl->Set('SUBHEADING','Neuste Dateien'); + //Jeder der in Nachbesserung war egal ob auto oder manuell wandert anschliessend in Manuelle-Freigabe"); + $table = new EasyTable($this->app); + $table->Query("SELECT d.titel, s.subjekt, v.version, v.ersteller, v.bemerkung, d.id FROM datei d LEFT JOIN datei_stichwoerter s ON d.id=s.datei LEFT JOIN datei_version v ON v.datei=d.id ORDER by d.id DESC LIMIT 10",0,""); + $table->Display('INHALT'); + $this->app->Tpl->Parse('PAGE',"rahmen.tpl"); + $this->app->Tpl->Set('INHALT',''); + } + + function DateienDownload() + { + $typ = $this->app->Secure->GetGET('typ'); + $id = (int)$this->app->Secure->GetGET('id'); + $erlaubt = false; + if($typ && $id) + { + switch($typ) + { + case "bestellung": + case "angebot": + case "lieferschein": + case "rechnung": + case "gutschrift": + case "auftrag": + case "arbeitsnachweis": + case "brieffax": + if($this->app->erp->RechteVorhanden($typ,'edit'))$erlaubt = true; + break; + case "brieffax": + if($this->app->erp->RechteVorhanden('adresse','brief'))$erlaubt = true; + $typ = "dokument"; + break; + } + if($erlaubt) + { + $dateianhang = $this->app->DB->SelectArr("SELECT ds.id, ds.datei, d.titel FROM datei_stichwoerter ds INNER JOIN datei d on ds.datei = d.id where d.geloescht <> 1 AND ds.datei = '$id' AND objekt like '$typ' LIMIT 1"); + if($dateianhang) + { + $dateianhang = reset($dateianhang); + $this->app->erp->SendDatei($id); + $this->app->ExitXentral(); + } + } else { + echo "Fehlende Rechte"; + $this->app->ExitXentral(); + } + } + echo "Fehler"; + $this->app->ExitXentral(); + } + + + function DateienMenu() + { + $id = $this->app->Secure->GetGET("id"); + + $this->app->Tpl->Add('TABS',"Dateien "); + $this->app->Tpl->Add('TABS',"Artikel "); + $this->app->Tpl->Add('TABS',"Zahlungsinformation "); + $this->app->Tpl->Add('TABS',"Versand "); + $this->app->Tpl->Add('TABS',"Abschicken "); + $this->app->Tpl->Add('TABS',"Zurück zur Übersicht "); + } + + function DateienCreate() + { + $id = $this->id; + $this->DateienHauptMenu(); + + + $speichern = $this->app->Secure->GetPOST("speichern"); + if($speichern !='') + { + $titel= $this->app->Secure->GetPOST("titel"); + $beschreibung= $this->app->Secure->GetPOST("beschreibung"); + $nummer= $this->app->Secure->GetPOST("nummer"); + $subjekt= $this->app->Secure->GetPOST("subjekt"); + $objekt= $this->app->Secure->GetPOST("objekt"); + + $this->app->Tpl->Set('TITLE',$titel); + $this->app->Tpl->Set('BESCHREIBUNG',$beschreibung); + $this->app->Tpl->Set('NUMMER',$nummer); + $this->app->Tpl->Set('SUBJEKT',$subjekt); + $this->app->Tpl->Set('OBJEKT',$objekt); + + if($_FILES['upload']['tmp_name']=='') + { + $this->app->Tpl->Set('ERROR',"
Bitte wählen Sie eine Datei aus und laden Sie diese herauf!
"); + } else { + // nach /tmp + //move_uploaded_file($_FILES['upload']['tmp_name'],"//".$_FILES['upload']['name'])){ + $fileid = $this->app->erp->CreateDatei($_FILES['upload']['name'],$titel,$beschreibung,$nummer,$_FILES['upload']['tmp_name'],$this->app->User->GetName()); + + // stichwoerter hinzufuegen + $this->app->erp->AddDateiStichwort($fileid,$subjekt,$objekt); + $this->app->Location->execute('index.php?module=dateien&action=edit&id='.$fileid); + //loeschen von /tmp + } + + } + //$this->DateienMenu(); + $this->app->Tpl->Set('HEADING',"Datei (Neu)"); + $this->app->Tpl->Parse('PAGE',"datei_neu.tpl"); + } + + function DateienEdit() + { + $id = $this->app->Secure->GetGET("id"); + + $this->DateienHauptMenu(); + $this->app->YUI->DateiUploadNeuVersion('NEUEVERSION',$id); + + $speichern = $this->app->Secure->GetPOST("speichern"); + if($speichern !="") + { + $titel= $this->app->Secure->GetPOST("titel"); + $beschreibung= $this->app->Secure->GetPOST("beschreibung"); + + $this->app->DB->Update("UPDATE datei SET titel='$titel', beschreibung='$beschreibung' WHERE id='$id' LIMIT 1"); + } + + $titel = $this->app->DB->Select("SELECT titel FROM datei WHERE id='$id' LIMIT 1"); + $beschreibung = $this->app->DB->Select("SELECT beschreibung FROM datei WHERE id='$id' LIMIT 1"); + $nummer= $this->app->DB->Select("SELECT nummer FROM datei WHERE id='$id' LIMIT 1"); + + + $this->app->Tpl->Set('TITEL',$titel); + $this->app->Tpl->Set('KURZUEBERSCHRIFT2',$titel); + $this->app->Tpl->Set('BESCHREIBUNG',$beschreibung); + $this->app->Tpl->Set('NUMMER',$nummer); + + $table = new EasyTable($this->app); + $table->Query("SELECT version,dateiname,datum,ersteller,bemerkung,id FROM datei_version WHERE datei='$id'",0,""); + $table->DisplayNew('VERSIONEN'," + + + + ", + ""); + + + $table = new EasyTable($this->app); + $table->Query("SELECT subjekt,objekt,parameter FROM datei_stichwoerter WHERE datei='$id'",0,""); + $table->DisplayNew('STICHWORTE',"Parameter","noAction"); + + $this->app->Tpl->Set('HEADING',"Datei (Bearbeiten)"); + $this->app->Tpl->Parse('PAGE',"datei.tpl"); + } + + + function DateienSend() + { + $fid = $this->app->Secure->GetGET('fid'); + $id = $this->app->Secure->GetGET('id'); + $this->app->erp->SendDatei($id,$fid); + $this->app->ExitXentral(); + } + + function DateienDelete() + { + $fid = $this->app->Secure->GetGET("fid"); + $id = $this->app->Secure->GetGET("id"); + $cmd = urldecode($this->app->Secure->GetGET("cmd")); + + $this->app->erp->RunHook('LayouttemplateAttachmentItemsDelete', 2, $id, $cmd); + + $version = $this->app->Secure->GetGET("version"); + if($version!='') + { + if(is_numeric($fid)){ + $this->app->DB->Delete("DELETE FROM datei_version WHERE id='$fid' AND datei='$id' LIMIT 1"); + } + // TODO Datei aus dem Dateisystem entfernen + $this->app->Location->execute("index.php?module=dateien&action=edit&id=$id"); + } + // stichweoeter loeschen + if(is_numeric($id)){ + + if($cmd!="") + { + $this->app->DB->Delete("DELETE FROM datei_stichwoerter WHERE datei='$id' AND objekt LIKE '$cmd' LIMIT 1"); + } else { + $this->app->DB->Delete("DELETE FROM datei_stichwoerter WHERE datei='$id'"); + } + + $check = $this->app->DB->Select("SELECT COUNT(id) FROM datei_stichwoerter WHERE datei='$id'"); + if($check <=0) + { + $this->app->DB->Delete("DELETE FROM datei_version WHERE datei='$id'"); + $this->app->DB->Update("UPDATE datei SET geloescht=1 WHERE id='$id'"); + } + } + $refer = $_SERVER['HTTP_REFERER']; + $this->app->Location->execute($refer); + } + + function DateienProtokoll() + { + $this->app->Tpl->Set('PROTOKOLL',"pro tabelle"); + + $this->DateienMenu(); + $this->app->Tpl->Set('HEADING',"Dateien (Protokoll)"); + $this->app->Tpl->Parse('PAGE',"dateien_protokoll.tpl"); + } +} +