Compare commits
No commits in common. "master" and "angebot_db" have entirely different histories.
master
...
angebot_db
|
|
@ -20,7 +20,7 @@ final class ErrorPageData implements JsonSerializable
|
||||||
public function __construct($exception, $title = null)
|
public function __construct($exception, $title = null)
|
||||||
{
|
{
|
||||||
$this->exception = $exception;
|
$this->exception = $exception;
|
||||||
$this->title = !empty($title) ? (string)$title : 'DBXE: Es ist ein unerwarteter Fehler aufgetreten!';
|
$this->title = !empty($title) ? (string)$title : 'OpenXE: Es ist ein unerwarteter Fehler aufgetreten!';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16752,7 +16752,7 @@ INSERT INTO `geschaeftsbrief_vorlagen` (`id`, `sprache`, `betreff`, `text`, `sub
|
||||||
(17, 'deutsch', 'Ihre Gutschrift {BELEGNR} von {FIRMA}', '{ANSCHREIBEN},<br><br>anbei finden Sie Ihre Gutschrift. Gerne stehen wir Ihnen weiterhin zur Verfügung.<br><br>Ihre Gutschrift ist im PDF-Format erstellt worden. Um sich die Gutschrift ansehen zu können, klicken Sie auf den Anhang und es öffnet sich automatisch der Acrobat Reader. Sollten Sie keinen Acrobat Reader besitzen, haben wir für Sie den Link zum kostenlosen Download von Adobe Acrobat Reader mit angegeben. Er führt Sie automatisch auf die Downloadseite von Adobe. So können Sie sich Ihre Gutschrift auch für Ihre Unterlagen ausdrucken.<br><br>http://www.adobe.com/products/acrobat/readstep2.html<br><br>{IF}{INTERNET}{THEN}Internet-Bestellnr.: {INTERNET}{ELSE}{ENDIF}', 'Gutschrift', 1, 1);
|
(17, 'deutsch', 'Ihre Gutschrift {BELEGNR} von {FIRMA}', '{ANSCHREIBEN},<br><br>anbei finden Sie Ihre Gutschrift. Gerne stehen wir Ihnen weiterhin zur Verfügung.<br><br>Ihre Gutschrift ist im PDF-Format erstellt worden. Um sich die Gutschrift ansehen zu können, klicken Sie auf den Anhang und es öffnet sich automatisch der Acrobat Reader. Sollten Sie keinen Acrobat Reader besitzen, haben wir für Sie den Link zum kostenlosen Download von Adobe Acrobat Reader mit angegeben. Er führt Sie automatisch auf die Downloadseite von Adobe. So können Sie sich Ihre Gutschrift auch für Ihre Unterlagen ausdrucken.<br><br>http://www.adobe.com/products/acrobat/readstep2.html<br><br>{IF}{INTERNET}{THEN}Internet-Bestellnr.: {INTERNET}{ELSE}{ENDIF}', 'Gutschrift', 1, 1);
|
||||||
|
|
||||||
|
|
||||||
/* DBXE 2024-01-24 für datatablelabel */
|
/* OpenXE 2024-01-24 für datatablelabel */
|
||||||
INSERT INTO `hook` (`name`, `aktiv`, `parametercount`, `alias`, `description`) VALUES
|
INSERT INTO `hook` (`name`, `aktiv`, `parametercount`, `alias`, `description`) VALUES
|
||||||
('eproosystem_ende', 1, 0, '', ''),
|
('eproosystem_ende', 1, 0, '', ''),
|
||||||
('parseuservars', 1, 0, '', ''),
|
('parseuservars', 1, 0, '', ''),
|
||||||
|
|
@ -16767,27 +16767,7 @@ INSERT INTO `hook_register` (`hook_action`, `function`, `aktiv`, `position`, `ho
|
||||||
(0, 'DataTableLabelsDokumentSendHook', 1, 1, (SELECT id FROM hook WHERE name = 'dokumentsend_ende'), 'Datatablelabels', 0),
|
(0, 'DataTableLabelsDokumentSendHook', 1, 1, (SELECT id FROM hook WHERE name = 'dokumentsend_ende'), 'Datatablelabels', 0),
|
||||||
(0, 'DatatablelabelsOrderSent', 1, 1, (SELECT id FROM hook WHERE name = 'auftrag_versand_ende'), 'Datatablelabels', 0),
|
(0, 'DatatablelabelsOrderSent', 1, 1, (SELECT id FROM hook WHERE name = 'auftrag_versand_ende'), 'Datatablelabels', 0),
|
||||||
(0, 'DatatablelabelsTransferDocumentIncomming', 1, 1, (SELECT id FROM hook WHERE name = 'transfer_document_incoming'), 'Datatablelabels', 0);
|
(0, 'DatatablelabelsTransferDocumentIncomming', 1, 1, (SELECT id FROM hook WHERE name = 'transfer_document_incoming'), 'Datatablelabels', 0);
|
||||||
/* DBXE 2024-01-24 für datatablelabel */
|
/* OpenXE 2024-01-24 für datatablelabel */
|
||||||
|
|
||||||
/* OpenXE 2024-02-03 für belegvorlagen */
|
|
||||||
INSERT INTO `hook` (`name`, `aktiv`, `parametercount`, `alias`, `description`) VALUES
|
|
||||||
('BelegPositionenButtons', 1, 3, '', ''),
|
|
||||||
('AARLGPositionen_cmds_end', 1, 1, '', ''),
|
|
||||||
('ajax_filter_hook1', 1, 1, '', '');
|
|
||||||
|
|
||||||
INSERT INTO `hook_register` (`hook_action`, `function`, `aktiv`, `position`, `hook`, `module`, `module_parameter`) VALUES
|
|
||||||
(0, 'BelegevorlagenAARLGPositionen_cmds_end', 1, 2, (SELECT id FROM hook WHERE name = 'AARLGPositionen_cmds_end' LIMIT 1), 'belegevorlagen', 0),
|
|
||||||
(0, 'Belegevorlagenajax_filter_hook1', 1, 2, (SELECT id FROM hook WHERE name = 'ajax_filter_hook1' LIMIT 1), 'belegevorlagen', 0),
|
|
||||||
(0, 'BelegevorlagenBelegPositionenButtons', 1, 2, (SELECT id FROM hook WHERE name = 'BelegPositionenButtons' LIMIT 1), 'belegevorlagen', 0)
|
|
||||||
;
|
|
||||||
/* DBXE 2024-02-03 für belegvorlagen */
|
|
||||||
|
|
||||||
/*
|
|
||||||
BelegPositionenButtons
|
|
||||||
|
|
||||||
Id,Hook_action,Function,Aktiv,Position,Hook,Module,Module_parameter
|
|
||||||
20,0,BelegevorlagenBelegPositionenButtons,1,2,16,belegevorlagen,0
|
|
||||||
*/
|
|
||||||
|
|
||||||
INSERT INTO `hook_menu` (`id`, `module`, `aktiv`) VALUES
|
INSERT INTO `hook_menu` (`id`, `module`, `aktiv`) VALUES
|
||||||
(1, 'artikel', 1),
|
(1, 'artikel', 1),
|
||||||
|
|
@ -18210,7 +18190,7 @@ INSERT INTO `wiedervorlage_stages` (`id`, `kurzbezeichnung`, `name`, `hexcolor`,
|
||||||
(12, 'Stay', 'Stay (Erhalt)', '#A2D624', 0, 1, 4, 4, NULL),
|
(12, 'Stay', 'Stay (Erhalt)', '#A2D624', 0, 1, 4, 4, NULL),
|
||||||
(13, 'Okay', 'Okay (Befürwortung)', '#A2D624', 0, 1, 5, 4, NULL);
|
(13, 'Okay', 'Okay (Befürwortung)', '#A2D624', 0, 1, 5, 4, NULL);
|
||||||
INSERT INTO `wiki` (`id`, `name`, `content`, `lastcontent`) VALUES
|
INSERT INTO `wiki` (`id`, `name`, `content`, `lastcontent`) VALUES
|
||||||
(1, 'StartseiteWiki', '\n<p>Herzlich Willkommen in Ihrem DBXE, dem freien ERP.<br><br>Wir freuen uns Sie als Benutzer begrüßen zu dürfen. Mit DBXE organisieren Sie Ihre Firma schnell und einfach. Sie haben alle wichtigen Zahlen und Vorgänge im Überblick.<br><br>Für Einsteiger sind die folgenden Themen wichtig:<br><br></p>\n<ul>\n<li> <a href="index.php?module=firmendaten&action=edit" target="_blank"> Firmendaten</a> (dort richten Sie Ihr Briefpapier ein)</li>\n<li> <a href="index.php?module=adresse&action=list" target="_blank"> Stammdaten / Adressen</a> (Kunden und Lieferanten anlegen)</li>\n<li> <a href="index.php?module=artikel&action=list" target="_blank"> Artikel anlegen</a> (Ihr Artikelstamm)</li>\n<li> <a href="index.php?module=angebot&action=list" target="_blank"> Angebot</a> / <a href="index.php?module=auftrag&action=list" target="_blank"> Auftrag</a> (Alle Dokumente für Ihr Geschäft)</li>\n<li> <a href="index.php?module=rechnung&action=list" target="_blank"> Rechnung</a> / <a href="index.php?module=gutschrift&action=list" target="_blank"> Gutschrift</a></li>\n<li> <a href="index.php?module=lieferschein&action=list" target="_blank"> Lieferschein</a></li>\n</ul>\n<p><br><br>Kennen Sie unsere Zusatzmodule die Struktur und Organisation in das tägliche Geschäft bringen?<br><br></p>\n<ul>\n<li> <a href="index.php?module=kalender&action=list" target="_blank"> Kalender</a></li>\n<li> <a href="index.php?module=wiki&action=list" target="_blank"> Wiki</a></li>\n</ul>', NULL);
|
(1, 'StartseiteWiki', '\n<p>Herzlich Willkommen in Ihrem OpenXE, dem freien ERP.<br><br>Wir freuen uns Sie als Benutzer begrüßen zu dürfen. Mit OpenXE organisieren Sie Ihre Firma schnell und einfach. Sie haben alle wichtigen Zahlen und Vorgänge im Überblick.<br><br>Für Einsteiger sind die folgenden Themen wichtig:<br><br></p>\n<ul>\n<li> <a href="index.php?module=firmendaten&action=edit" target="_blank"> Firmendaten</a> (dort richten Sie Ihr Briefpapier ein)</li>\n<li> <a href="index.php?module=adresse&action=list" target="_blank"> Stammdaten / Adressen</a> (Kunden und Lieferanten anlegen)</li>\n<li> <a href="index.php?module=artikel&action=list" target="_blank"> Artikel anlegen</a> (Ihr Artikelstamm)</li>\n<li> <a href="index.php?module=angebot&action=list" target="_blank"> Angebot</a> / <a href="index.php?module=auftrag&action=list" target="_blank"> Auftrag</a> (Alle Dokumente für Ihr Geschäft)</li>\n<li> <a href="index.php?module=rechnung&action=list" target="_blank"> Rechnung</a> / <a href="index.php?module=gutschrift&action=list" target="_blank"> Gutschrift</a></li>\n<li> <a href="index.php?module=lieferschein&action=list" target="_blank"> Lieferschein</a></li>\n</ul>\n<p><br><br>Kennen Sie unsere Zusatzmodule die Struktur und Organisation in das tägliche Geschäft bringen?<br><br></p>\n<ul>\n<li> <a href="index.php?module=kalender&action=list" target="_blank"> Kalender</a></li>\n<li> <a href="index.php?module=wiki&action=list" target="_blank"> Wiki</a></li>\n</ul>', NULL);
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO `konten` (`id`, `bezeichnung`, `kurzbezeichnung`, `type`, `erstezeile`, `datevkonto`, `blz`, `konto`, `swift`, `iban`, `lastschrift`, `hbci`, `hbcikennung`, `inhaber`, `aktiv`, `keineemail`, `firma`, `schreibbar`, `importletztenzeilenignorieren`, `liveimport`, `liveimport_passwort`, `liveimport_online`, `importtrennzeichen`, `codierung`, `importerstezeilenummer`, `importdatenmaskierung`, `importnullbytes`, `glaeubiger`, `geloescht`, `projekt`, `saldo_summieren`, `saldo_betrag`, `saldo_datum`, `importfelddatum`, `importfelddatumformat`, `importfelddatumformatausgabe`, `importfeldbetrag`, `importfeldbetragformat`, `importfeldbuchungstext`, `importfeldbuchungstextformat`, `importfeldwaehrung`, `importfeldwaehrungformat`, `importfeldhabensollkennung`, `importfeldkennunghaben`, `importfeldkennungsoll`, `importextrahabensoll`, `importfeldhaben`, `importfeldsoll`, `cronjobaktiv`, `cronjobverbuchen`) VALUES
|
INSERT INTO `konten` (`id`, `bezeichnung`, `kurzbezeichnung`, `type`, `erstezeile`, `datevkonto`, `blz`, `konto`, `swift`, `iban`, `lastschrift`, `hbci`, `hbcikennung`, `inhaber`, `aktiv`, `keineemail`, `firma`, `schreibbar`, `importletztenzeilenignorieren`, `liveimport`, `liveimport_passwort`, `liveimport_online`, `importtrennzeichen`, `codierung`, `importerstezeilenummer`, `importdatenmaskierung`, `importnullbytes`, `glaeubiger`, `geloescht`, `projekt`, `saldo_summieren`, `saldo_betrag`, `saldo_datum`, `importfelddatum`, `importfelddatumformat`, `importfelddatumformatausgabe`, `importfeldbetrag`, `importfeldbetragformat`, `importfeldbuchungstext`, `importfeldbuchungstextformat`, `importfeldwaehrung`, `importfeldwaehrungformat`, `importfeldhabensollkennung`, `importfeldkennunghaben`, `importfeldkennungsoll`, `importextrahabensoll`, `importfeldhaben`, `importfeldsoll`, `cronjobaktiv`, `cronjobverbuchen`) VALUES
|
||||||
|
|
|
||||||
|
|
@ -2847,28 +2847,21 @@ class YUI {
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
}else{
|
||||||
$sql = "SELECT $sortcol, CONCAT($hersteller_ansicht if(b.beschreibung!='',
|
$sql = "SELECT $sortcol, CONCAT($hersteller_ansicht if(b.beschreibung!='',
|
||||||
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(CONCAT(b.bezeichnung,' *'),1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),CONCAT(b.bezeichnung,' *')),
|
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(CONCAT(b.bezeichnung,' *'),1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),CONCAT(b.bezeichnung,' *')),
|
||||||
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(b.bezeichnung,1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),b.bezeichnung)) $erweiterte_ansicht)
|
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(b.bezeichnung,1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),b.bezeichnung)) $erweiterte_ansicht)
|
||||||
as Artikel,
|
as Artikel,
|
||||||
p.abkuerzung as projekt,
|
p.abkuerzung as projekt, a.nummer as nummer, b.nummer as nummer, DATE_FORMAT(lieferdatum,'%d.%m.%Y') as lieferdatum, trim(b.menge)+0 as menge, ".$this->FormatPreis($preiscell)." as preis
|
||||||
a.nummer as nummer,
|
|
||||||
b.nummer as nummer,
|
|
||||||
DATE_FORMAT(lieferdatum,
|
,b.waehrung, b.rabatt as rabatt,";
|
||||||
'%d.%m.%Y') as lieferdatum,
|
|
||||||
trim(b.menge)+0 as menge,
|
|
||||||
".$this->FormatPreis($preiscell)." as preis,
|
|
||||||
b.waehrung,
|
|
||||||
b.rabatt as rabatt,
|
|
||||||
'' AS Einkaufspreis,
|
|
||||||
'' AS DB,
|
|
||||||
";
|
|
||||||
}
|
}
|
||||||
$sql .= "b.id as id
|
$sql .= "b.id as id
|
||||||
FROM $table b
|
FROM $table b
|
||||||
LEFT JOIN artikel a ON a.id=b.artikel LEFT JOIN projekt p ON b.projekt=p.id
|
LEFT JOIN artikel a ON a.id=b.artikel LEFT JOIN projekt p ON b.projekt=p.id
|
||||||
WHERE b.$module='$id'";
|
WHERE b.$module='$id'";
|
||||||
|
|
||||||
}
|
}
|
||||||
else if ($module == "verbindlichkeit") // OpenXE
|
else if ($module == "verbindlichkeit") // OpenXE
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -78533,17 +78533,6 @@
|
||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Field": "next_lieferantengutschrift",
|
|
||||||
"Type": "text",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Field": "freifeld1",
|
"Field": "freifeld1",
|
||||||
"Type": "text",
|
"Type": "text",
|
||||||
|
|
@ -110995,617 +110984,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "lieferantengutschrift",
|
|
||||||
"collation": "utf8mb3_general_ci",
|
|
||||||
"type": "BASE TABLE",
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"Field": "id",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "PRI",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "auto_increment",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "usereditid",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "PRI",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "belegnr",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "datum",
|
|
||||||
"Type": "date",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "status_beleg",
|
|
||||||
"Type": "varchar(64)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "schreibschutz",
|
|
||||||
"Type": "tinyint(1)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "rechnung",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "zahlbarbis",
|
|
||||||
"Type": "date",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "betrag",
|
|
||||||
"Type": "decimal(10,2)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "skonto",
|
|
||||||
"Type": "decimal(10,2)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "skontobis",
|
|
||||||
"Type": "date",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "freigabe",
|
|
||||||
"Type": "int(1)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "freigabemitarbeiter",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "adresse",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "MUL",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "projekt",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "status",
|
|
||||||
"Type": "varchar(64)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "bezahlt",
|
|
||||||
"Type": "int(1)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "firma",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "logdatei",
|
|
||||||
"Type": "timestamp",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0000-00-00 00:00:00",
|
|
||||||
"Extra": "on update current_timestamp()",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "waehrung",
|
|
||||||
"Type": "varchar(3)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "'EUR'",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "zahlungsweise",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "eingangsdatum",
|
|
||||||
"Type": "date",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "rechnungsdatum",
|
|
||||||
"Type": "date",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "rechnungsfreigabe",
|
|
||||||
"Type": "tinyint(1)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "kostenstelle",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "beschreibung",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "sachkonto",
|
|
||||||
"Type": "varchar(64)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "internebemerkung",
|
|
||||||
"Type": "text",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "ust_befreit",
|
|
||||||
"Type": "int(1)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"keys": [
|
|
||||||
{
|
|
||||||
"Key_name": "PRIMARY",
|
|
||||||
"Index_type": "BTREE",
|
|
||||||
"columns": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"Non_unique": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Key_name": "adresse",
|
|
||||||
"Index_type": "BTREE",
|
|
||||||
"columns": [
|
|
||||||
"adresse"
|
|
||||||
],
|
|
||||||
"Non_unique": ""
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lieferantengutschrift_position",
|
|
||||||
"collation": "utf8mb3_general_ci",
|
|
||||||
"type": "BASE TABLE",
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"Field": "id",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "PRI",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "auto_increment",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "lieferantengutschrift",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "MUL",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "sort",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "artikel",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "projekt",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "bestellung",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "nummer",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "waehrung",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "einheit",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "vpe",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "bezeichnung",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "umsatzsteuer",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "status",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "beschreibung",
|
|
||||||
"Type": "text",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "lieferdatum",
|
|
||||||
"Type": "date",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "steuersatz",
|
|
||||||
"Type": "decimal(5,2)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "steuertext",
|
|
||||||
"Type": "varchar(1024)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "YES",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "kostenstelle",
|
|
||||||
"Type": "varchar(10)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "preis",
|
|
||||||
"Type": "decimal(14,4)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0.0000",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "menge",
|
|
||||||
"Type": "decimal(14,4)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0.0000",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "verbindlichkeit_position",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "kontorahmen",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"keys": [
|
|
||||||
{
|
|
||||||
"Key_name": "PRIMARY",
|
|
||||||
"Index_type": "BTREE",
|
|
||||||
"columns": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"Non_unique": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Key_name": "lieferantengutschrift",
|
|
||||||
"Index_type": "BTREE",
|
|
||||||
"columns": [
|
|
||||||
"lieferantengutschrift"
|
|
||||||
],
|
|
||||||
"Non_unique": ""
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "verbindlichkeit_bestellungen",
|
"name": "verbindlichkeit_bestellungen",
|
||||||
"collation": "utf8mb3_general_ci",
|
"collation": "utf8mb3_general_ci",
|
||||||
|
|
@ -112295,86 +111673,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "lieferantengutschrift_protokoll",
|
|
||||||
"collation": "utf8mb3_general_ci",
|
|
||||||
"type": "BASE TABLE",
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"Field": "id",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "PRI",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "auto_increment",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "lieferantengutschrift",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "MUL",
|
|
||||||
"Default": "0",
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "zeit",
|
|
||||||
"Type": "datetime",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "bearbeiter",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "grund",
|
|
||||||
"Type": "varchar(255)",
|
|
||||||
"Collation": "utf8mb3_general_ci",
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"keys": [
|
|
||||||
{
|
|
||||||
"Key_name": "PRIMARY",
|
|
||||||
"Index_type": "BTREE",
|
|
||||||
"columns": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"Non_unique": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Key_name": "lieferantengutschrift",
|
|
||||||
"Index_type": "BTREE",
|
|
||||||
"columns": [
|
|
||||||
"lieferantengutschrift"
|
|
||||||
],
|
|
||||||
"Non_unique": ""
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "verbindlichkeit_regelmaessig",
|
"name": "verbindlichkeit_regelmaessig",
|
||||||
"collation": "utf8mb3_general_ci",
|
"collation": "utf8mb3_general_ci",
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
"host": "http://repo.dbxe.de/dbxe/dbxe.git",
|
"host": "https://github.com/openxe-org/openxe.git",
|
||||||
"branch": "master"
|
"branch": "master"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -163,7 +163,7 @@ function upgrade_main(string $directory,bool $verbose, bool $check_git, bool $do
|
||||||
$remote_file_name = $datafolder."/remote.json";
|
$remote_file_name = $datafolder."/remote.json";
|
||||||
$schema_file_name = "db_schema.json";
|
$schema_file_name = "db_schema.json";
|
||||||
|
|
||||||
echo_out("--------------- DBXE upgrade ---------------\n");
|
echo_out("--------------- OpenXE upgrade ---------------\n");
|
||||||
echo_out("--------------- ".date("Y-m-d H:i:s")." ---------------\n");
|
echo_out("--------------- ".date("Y-m-d H:i:s")." ---------------\n");
|
||||||
|
|
||||||
//require_once($directory.'/../cronjobs/githash.php');
|
//require_once($directory.'/../cronjobs/githash.php');
|
||||||
|
|
@ -485,8 +485,8 @@ function upgrade_main(string $directory,bool $verbose, bool $check_git, bool $do
|
||||||
}
|
}
|
||||||
|
|
||||||
function info() {
|
function info() {
|
||||||
echo_out("DBXE upgrade tool\n");
|
echo_out("OpenXE upgrade tool\n");
|
||||||
echo_out("Copyright 2024 (c) DBXE project\n");
|
echo_out("Copyright 2022 (c) OpenXE project\n");
|
||||||
echo_out("\n");
|
echo_out("\n");
|
||||||
echo_out("Upgrade files and database\n");
|
echo_out("Upgrade files and database\n");
|
||||||
echo_out("Options:\n");
|
echo_out("Options:\n");
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$version="OSS";
|
$version="OSS";
|
||||||
$version_revision="1.0.2";
|
$version_revision="1.11";
|
||||||
$githash = file_get_contents("../githash.txt");
|
$githash = file_get_contents("../githash.txt");
|
||||||
if (!empty($githash)) {
|
if (!empty($githash)) {
|
||||||
$version_revision .= " (".substr($githash,0,8).")";
|
$version_revision .= " (".substr($githash,0,8).")";
|
||||||
|
|
|
||||||
4408
www/eproosystem.php
|
|
@ -7191,7 +7191,6 @@ title: 'Abschicken',
|
||||||
$navarray['menu']['admin'][$menu]['sec'][] = array('Lohnabrechnung','lohnabrechnung','list');
|
$navarray['menu']['admin'][$menu]['sec'][] = array('Lohnabrechnung','lohnabrechnung','list');
|
||||||
|
|
||||||
$navarray['menu']['admin'][$menu]['sec'][] = array('Verbindlichkeiten','verbindlichkeit','list');
|
$navarray['menu']['admin'][$menu]['sec'][] = array('Verbindlichkeiten','verbindlichkeit','list');
|
||||||
$navarray['menu']['admin'][$menu]['sec'][] = array('Lieferantengutschriften','lieferantengutschrift','list');
|
|
||||||
|
|
||||||
$navarray['menu']['admin'][$menu]['sec'][] = array('Kassenbuch','kasse','list');
|
$navarray['menu']['admin'][$menu]['sec'][] = array('Kassenbuch','kasse','list');
|
||||||
|
|
||||||
|
|
@ -8621,7 +8620,6 @@ function StandardFirmendatenWerte()
|
||||||
$this->AddNeuenFirmendatenWert( 'next_proformarechnung', 'varchar', '128', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'next_proformarechnung', 'varchar', '128', '', '', '', 1, 1);
|
||||||
$this->AddNeuenFirmendatenWert( 'next_serviceauftrag', 'varchar', '128', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'next_serviceauftrag', 'varchar', '128', '', '', '', 1, 1);
|
||||||
$this->AddNeuenFirmendatenWert( 'next_verbindlichkeit', 'varchar', '128', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'next_verbindlichkeit', 'varchar', '128', '', '', '', 1, 1);
|
||||||
$this->AddNeuenFirmendatenWert( 'next_lieferantengutschrift', 'varchar', '128', '', '', '', 1, 1);
|
|
||||||
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_sofort_de', 'text', '', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_sofort_de', 'text', '', '', '', '', 1, 1);
|
||||||
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_de', 'text', '', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_de', 'text', '', '', '', '', 1, 1);
|
||||||
|
|
||||||
|
|
@ -10519,19 +10517,15 @@ function SendPaypalFromAuftrag($auftrag, $test = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_array($variables)) {
|
if($variables['datum']=="") $variables['datum']=date('d.m.Y');
|
||||||
if($variables['datum']=="") {
|
|
||||||
$variables['datum']=date('d.m.Y');
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!empty($variables))
|
if(!empty($variables))
|
||||||
{
|
{
|
||||||
foreach($variables as $key=>$value)
|
foreach($variables as $key=>$value)
|
||||||
{
|
{
|
||||||
$value = $this->UmlauteEntfernen($value);
|
$value = $this->UmlauteEntfernen($value);
|
||||||
$xml = str_replace("{".strtoupper($key)."}",$value,$xml);
|
$xml = str_replace("{".strtoupper($key)."}",$value,$xml);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// y to z wenn Kein PDF -> also nur bei EPL Drucker - 09.06.2019 BS heute auf 0 gestellt bei deutschen adapterboxen eventuell
|
// y to z wenn Kein PDF -> also nur bei EPL Drucker - 09.06.2019 BS heute auf 0 gestellt bei deutschen adapterboxen eventuell
|
||||||
|
|
@ -13252,11 +13246,6 @@ function SendPaypalFromAuftrag($auftrag, $test = false)
|
||||||
return $this->ReplaceANABRELSGSBE("rechnung",$db,$value,$fromform);
|
return $this->ReplaceANABRELSGSBE("rechnung",$db,$value,$fromform);
|
||||||
}
|
}
|
||||||
|
|
||||||
function ReplaceVerbindlichkeit($db,$value,$fromform)
|
|
||||||
{
|
|
||||||
return $this->ReplaceANABRELSGSBE("verbindlichkeit",$db,$value,$fromform);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ReplaceRetoure($db,$value,$fromform)
|
function ReplaceRetoure($db,$value,$fromform)
|
||||||
{
|
{
|
||||||
return $this->ReplaceANABRELSGSBE('retoure',$db,$value,$fromform);
|
return $this->ReplaceANABRELSGSBE('retoure',$db,$value,$fromform);
|
||||||
|
|
@ -25541,31 +25530,31 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
|
||||||
{
|
{
|
||||||
$signaturtext = $this->Signatur($from);
|
$signaturtext = $this->Signatur($from);
|
||||||
if($this->isHTML($signaturtext))
|
if($this->isHTML($signaturtext))
|
||||||
$body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext;
|
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".$signaturtext;
|
||||||
else
|
else
|
||||||
$body = str_replace('\r\n',"\n",$text)."<br>".nl2br($signaturtext);
|
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".nl2br($signaturtext);
|
||||||
}else{
|
}else{
|
||||||
if($projekt > 0 && $this->Projektdaten($projekt,"absendesignatur")!=""){
|
if($projekt > 0 && $this->Projektdaten($projekt,"absendesignatur")!=""){
|
||||||
$signaturtext = $this->Projektdaten($projekt,"absendesignatur");
|
$signaturtext = $this->Projektdaten($projekt,"absendesignatur");
|
||||||
if($this->isHTML($signaturtext))
|
if($this->isHTML($signaturtext))
|
||||||
$body = str_replace('\r\n',"\n",$text)."<br><br>".$signaturtext;
|
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br><br>".$signaturtext;
|
||||||
else
|
else
|
||||||
$body = str_replace('\r\n',"\n",$text)."<br><br>".$this->ReadyForPDF(nl2br($signaturtext));
|
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br><br>".$this->ReadyForPDF(nl2br($signaturtext));
|
||||||
}else{
|
}else{
|
||||||
if(strlen(trim($this->Signatur($from))) > 0 && $eigenesignatur == 0){
|
if(strlen(trim($this->Signatur($from))) > 0 && $eigenesignatur == 0){
|
||||||
$signaturtext = $this->Signatur($from);
|
$signaturtext = $this->Signatur($from);
|
||||||
if($this->isHTML($signaturtext))
|
if($this->isHTML($signaturtext))
|
||||||
$body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext;
|
$body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext;
|
||||||
else
|
else
|
||||||
$body = str_replace('\r\n',"\n",$text)."<br>".nl2br($signaturtext);
|
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".nl2br($signaturtext);
|
||||||
}else{
|
}else{
|
||||||
$body = str_replace('\r\n',"\n",$text);
|
$body = utf8_decode(str_replace('\r\n',"\n",$text));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$body = str_replace('\r\n',"\n",$text);
|
$body = utf8_decode(str_replace('\r\n',"\n",$text));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -25810,7 +25799,6 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
|
||||||
$uebersetzung['dokument_artikelnummerkunde']['deutsch'] = "Ihre Artikelnummer";
|
$uebersetzung['dokument_artikelnummerkunde']['deutsch'] = "Ihre Artikelnummer";
|
||||||
$uebersetzung['dokument_menge']['deutsch'] = "Menge";
|
$uebersetzung['dokument_menge']['deutsch'] = "Menge";
|
||||||
$uebersetzung['dokument_gesamt']['deutsch'] = "Gesamt";
|
$uebersetzung['dokument_gesamt']['deutsch'] = "Gesamt";
|
||||||
$uebersetzung['dokument_gesamt_optional']['deutsch'] = "Gesamt optional";
|
|
||||||
$uebersetzung['dokument_gesamt_total']['deutsch'] = "Gesamt";
|
$uebersetzung['dokument_gesamt_total']['deutsch'] = "Gesamt";
|
||||||
$uebersetzung['dokument_mwst']['deutsch'] = "MwSt.";
|
$uebersetzung['dokument_mwst']['deutsch'] = "MwSt.";
|
||||||
$uebersetzung['dokument_zzglmwst']['deutsch'] = "zzgl. MwSt.";
|
$uebersetzung['dokument_zzglmwst']['deutsch'] = "zzgl. MwSt.";
|
||||||
|
|
@ -25828,7 +25816,6 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
|
||||||
$uebersetzung['dokument_ursprungsregion']['deutsch'] = "Ursprungsregion";
|
$uebersetzung['dokument_ursprungsregion']['deutsch'] = "Ursprungsregion";
|
||||||
$uebersetzung['dokument_gewicht']['deutsch'] = "Gewicht";
|
$uebersetzung['dokument_gewicht']['deutsch'] = "Gewicht";
|
||||||
$uebersetzung['dokument_gesamtnetto']['deutsch'] = "Gesamt netto";
|
$uebersetzung['dokument_gesamtnetto']['deutsch'] = "Gesamt netto";
|
||||||
$uebersetzung['dokument_gesamtnetto_optional']['deutsch'] = "Gesamt netto optional";
|
|
||||||
$uebersetzung['dokument_seite']['deutsch'] = "Seite";
|
$uebersetzung['dokument_seite']['deutsch'] = "Seite";
|
||||||
$uebersetzung['dokument_seitevon']['deutsch'] = "von";
|
$uebersetzung['dokument_seitevon']['deutsch'] = "von";
|
||||||
$uebersetzung['dokument_datum']['deutsch'] = "Datum";
|
$uebersetzung['dokument_datum']['deutsch'] = "Datum";
|
||||||
|
|
@ -26087,14 +26074,7 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
$this->app->DB->Update("UPDATE firmendaten SET " . $field . "='$value' WHERE id='" . $firmendatenid . "'");
|
||||||
$column_exists = $this->app->DB->Select("SHOW COLUMNS FROM firmendaten WHERE field = '".$field."'");
|
|
||||||
|
|
||||||
if ($column_exists) {
|
|
||||||
$this->app->DB->Update("UPDATE firmendaten SET " . $field . "='$value' WHERE id='" . $firmendatenid . "'");
|
|
||||||
} else {
|
|
||||||
$this->AddNeuenFirmendatenWert($field, $typ, $typ1, $typ2, $value, $default_value, $default_null, $darf_null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
$db = $this->app->Conf->WFdbname;
|
$db = $this->app->Conf->WFdbname;
|
||||||
if(!empty($this->firmendaten[$db])) {
|
if(!empty($this->firmendaten[$db])) {
|
||||||
|
|
@ -27740,7 +27720,7 @@ function Firmendaten($field,$projekt="")
|
||||||
$allowedtypes = ['angebot', 'auftrag', 'rechnung', 'lieferschein', 'arbeitsnachweis', 'reisekosten',
|
$allowedtypes = ['angebot', 'auftrag', 'rechnung', 'lieferschein', 'arbeitsnachweis', 'reisekosten',
|
||||||
'bestellung', 'gutschrift', 'kundennummer', 'lieferantennummer', 'mitarbeiternummer', 'waren',
|
'bestellung', 'gutschrift', 'kundennummer', 'lieferantennummer', 'mitarbeiternummer', 'waren',
|
||||||
'produktion', 'sonstiges', 'anfrage', 'artikelnummer', 'kalkulation', 'preisanfrage', 'proformarechnung',
|
'produktion', 'sonstiges', 'anfrage', 'artikelnummer', 'kalkulation', 'preisanfrage', 'proformarechnung',
|
||||||
'retoure', 'verbindlichkeit','lieferantengutschrift', 'goodspostingdocument', 'receiptdocument'];
|
'retoure', 'verbindlichkeit', 'goodspostingdocument', 'receiptdocument'];
|
||||||
|
|
||||||
$dbfield = "next_$type";
|
$dbfield = "next_$type";
|
||||||
$belegnr = $this->app->DB->Select("SELECT $dbfield FROM projekt WHERE id='$projekt' LIMIT 1");
|
$belegnr = $this->app->DB->Select("SELECT $dbfield FROM projekt WHERE id='$projekt' LIMIT 1");
|
||||||
|
|
@ -27866,11 +27846,6 @@ function Firmendaten($field,$projekt="")
|
||||||
if($belegnr == "0" || $belegnr=="") $belegnr = 10000;
|
if($belegnr == "0" || $belegnr=="") $belegnr = 10000;
|
||||||
$newbelegnr = $this->CalcNextNummer($belegnr);
|
$newbelegnr = $this->CalcNextNummer($belegnr);
|
||||||
break;
|
break;
|
||||||
case "lieferantengutschrift":
|
|
||||||
$belegnr = $this->Firmendaten("next_lieferantengutschrift");
|
|
||||||
if($belegnr == "0" || $belegnr=="") $belegnr = 20000;
|
|
||||||
$newbelegnr = $this->CalcNextNummer($belegnr);
|
|
||||||
break;
|
|
||||||
case 'receiptdocument':
|
case 'receiptdocument':
|
||||||
$belegnr = $this->Firmendaten('next_receiptdocument');
|
$belegnr = $this->Firmendaten('next_receiptdocument');
|
||||||
if($belegnr == '0' || $belegnr=='') {
|
if($belegnr == '0' || $belegnr=='') {
|
||||||
|
|
|
||||||
|
|
@ -41,15 +41,8 @@ class AngebotPDF extends BriefpapierCustom {
|
||||||
{
|
{
|
||||||
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
||||||
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
||||||
|
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
|
||||||
$this->ust_spalteausblende=false;
|
else $this->ust_spalteausblende=true;
|
||||||
|
|
||||||
if(!empty($check)) {
|
|
||||||
if (count($check) == 1) {
|
|
||||||
$this->ust_spalteausblende=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
||||||
|
|
@ -498,29 +491,30 @@ class AngebotPDF extends BriefpapierCustom {
|
||||||
"rabatt"=>$value['rabatt'],
|
"rabatt"=>$value['rabatt'],
|
||||||
"steuertext"=>$value['steuertext']));
|
"steuertext"=>$value['steuertext']));
|
||||||
if($positionenkaufmaenischrunden == 3){
|
if($positionenkaufmaenischrunden == 3){
|
||||||
if (!$value['nicht_einrechnen']) {
|
$netto_gesamt = $value['menge'] * round($value['preis'] - ($value['preis'] / 100 * $value['rabatt']),2);
|
||||||
$netto_gesamt = $value['menge'] * round($value['preis'] - ($value['preis'] / 100 * $value['rabatt']),2);
|
}else{
|
||||||
}
|
|
||||||
}else if (!$value['nicht_einrechnen']) {
|
|
||||||
$netto_gesamt = $value['menge'] * ($value['preis'] - ($value['preis'] / 100 * $value['rabatt']));
|
$netto_gesamt = $value['menge'] * ($value['preis'] - ($value['preis'] / 100 * $value['rabatt']));
|
||||||
}
|
}
|
||||||
if($positionenkaufmaenischrunden)
|
if($positionenkaufmaenischrunden)
|
||||||
{
|
{
|
||||||
$netto_gesamt = round($netto_gesamt, 2);
|
$netto_gesamt = round($netto_gesamt, 2);
|
||||||
}
|
}
|
||||||
if(!isset($summen[$value['steuersatz']])) {
|
if($value['optional']!="1"){
|
||||||
$summen[$value['steuersatz']] = 0;
|
|
||||||
}
|
|
||||||
if($value['optional']!="1"){
|
|
||||||
if($value['explodiert_parent'] == 0 || !$berechnen_aus_teile)
|
if($value['explodiert_parent'] == 0 || !$berechnen_aus_teile)
|
||||||
{
|
{
|
||||||
|
$summe = $summe + $netto_gesamt;
|
||||||
|
if(!isset($summen[$value['steuersatz']]))$summen[$value['steuersatz']] = 0;
|
||||||
$summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz'];
|
$summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz'];
|
||||||
$summe = $summe + $netto_gesamt;
|
|
||||||
$gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz'];
|
$gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz'];
|
||||||
}
|
}
|
||||||
} else {
|
/*
|
||||||
$summe_netto_optional += $netto_gesamt;
|
if($value['umsatzsteuer']=="" || $value['umsatzsteuer']=="normal")
|
||||||
$steuern_optional +=($netto_gesamt/100)*$value['steuersatz'];
|
{
|
||||||
|
$summeV = $summeV + (($netto_gesamt/100)*$this->app->erp->GetSteuersatzNormal(false,$id,"angebot"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$summeR = $summeR + (($netto_gesamt/100)*$this->app->erp->GetSteuersatzErmaessigt(false,$id,"angebot"));
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -542,7 +536,7 @@ class AngebotPDF extends BriefpapierCustom {
|
||||||
|
|
||||||
if($this->app->erp->AngebotMitUmsatzeuer($id))
|
if($this->app->erp->AngebotMitUmsatzeuer($id))
|
||||||
{
|
{
|
||||||
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe + $gesamtsteuern,"summen"=>$summen,"totalTaxV"=>0,"totalTaxR"=>0,"optional"=>$summe_netto_optional+$steuern_optional,"optional_netto"=>$summe_netto_optional));
|
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe + $gesamtsteuern,"summen"=>$summen,"totalTaxV"=>0,"totalTaxR"=>0));
|
||||||
//$this->setTotals(array("totalArticles"=>$summe,"totalTaxV"=>$summeV,"totalTaxR"=>$summeR,"total"=>$summe+$summeV+$summeR));
|
//$this->setTotals(array("totalArticles"=>$summe,"totalTaxV"=>$summeV,"totalTaxR"=>$summeR,"total"=>$summe+$summeV+$summeR));
|
||||||
} else {
|
} else {
|
||||||
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe));
|
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe));
|
||||||
|
|
|
||||||
|
|
@ -43,13 +43,8 @@ class AuftragPDF extends BriefpapierCustom {
|
||||||
{
|
{
|
||||||
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
||||||
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
||||||
$this->ust_spalteausblende=false;
|
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
|
||||||
|
else $this->ust_spalteausblende=true;
|
||||||
if(!empty($check)) {
|
|
||||||
if (count($check) == 1) {
|
|
||||||
$this->ust_spalteausblende=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
||||||
|
|
|
||||||
|
|
@ -658,7 +658,7 @@ class Briefpapier extends SuperFPDF {
|
||||||
|
|
||||||
public function addItem($rdata){
|
public function addItem($rdata){
|
||||||
// add rabatt
|
// add rabatt
|
||||||
if($rdata['price']!='-' && is_numeric($rdata['price'])){
|
if($rdata['price']!='-'){
|
||||||
if($rdata['rabatt'] == 100){
|
if($rdata['rabatt'] == 100){
|
||||||
$rdata['tprice'] = round($rdata['amount'] * ((double)$rdata['price'] - (double)($rdata['price'] / 100.00 * (double)$rdata['rabatt'])), 13);
|
$rdata['tprice'] = round($rdata['amount'] * ((double)$rdata['price'] - (double)($rdata['price'] / 100.00 * (double)$rdata['rabatt'])), 13);
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -1775,12 +1775,7 @@ class Briefpapier extends SuperFPDF {
|
||||||
$total=$totalFullTax=$totalReducedTax=0;
|
$total=$totalFullTax=$totalReducedTax=0;
|
||||||
$citems = !empty($this->items)?count($this->items):0;
|
$citems = !empty($this->items)?count($this->items):0;
|
||||||
for($i=0;$i<$citems;$i++) {
|
for($i=0;$i<$citems;$i++) {
|
||||||
if (!$this->items[$i]['optional']) {
|
$total += $this->items[$i]['tprice'];
|
||||||
$total += $this->items[$i]['tprice'];
|
|
||||||
} else {
|
|
||||||
$totalOptional += $this->items[$i]['tprice'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if($this->items[$i]['tax']=="USTV") {
|
if($this->items[$i]['tax']=="USTV") {
|
||||||
$totalFullTax+= $this->items[$i]['tprice']*USTV;
|
$totalFullTax+= $this->items[$i]['tprice']*USTV;
|
||||||
}
|
}
|
||||||
|
|
@ -1788,7 +1783,7 @@ class Briefpapier extends SuperFPDF {
|
||||||
$totalReducedTax+= $this->items[$i]['tprice']*USTR;
|
$totalReducedTax+= $this->items[$i]['tprice']*USTR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return array($total,$totalFullTax,$totalReducedTax,$totalOptional);
|
return array($total,$totalFullTax,$totalReducedTax);
|
||||||
}
|
}
|
||||||
|
|
||||||
function GetFont()
|
function GetFont()
|
||||||
|
|
@ -2503,6 +2498,7 @@ class Briefpapier extends SuperFPDF {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function renderItems() {
|
public function renderItems() {
|
||||||
|
|
||||||
$this->app->erp->RunHook('briefpapier_renderitems',1, $this);
|
$this->app->erp->RunHook('briefpapier_renderitems',1, $this);
|
||||||
// if($this->bestellungohnepreis) $this->doctype="lieferschein";
|
// if($this->bestellungohnepreis) $this->doctype="lieferschein";
|
||||||
$posWidth = $this->getStyleElement("breite_position");
|
$posWidth = $this->getStyleElement("breite_position");
|
||||||
|
|
@ -2946,6 +2942,7 @@ class Briefpapier extends SuperFPDF {
|
||||||
if($this->doctype!=='zahlungsavis')
|
if($this->doctype!=='zahlungsavis')
|
||||||
{
|
{
|
||||||
if($item['tax']!=='hidden'){
|
if($item['tax']!=='hidden'){
|
||||||
|
|
||||||
if($anzeigeBelegNettoAdrese){
|
if($anzeigeBelegNettoAdrese){
|
||||||
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
||||||
//&& $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
//&& $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
||||||
|
|
@ -3071,18 +3068,16 @@ class Briefpapier extends SuperFPDF {
|
||||||
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
||||||
{
|
{
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
// $this->Cell_typed($priceWidth,$cellhoehe,$item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']),0,0,'R');
|
$this->Cell_typed($priceWidth,$cellhoehe,$item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']),0,0,'R');
|
||||||
$price_displayed = $item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
// $this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
$this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
||||||
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// $this->Cell_typed($rabattWidth,$cellhoehe,"",0,0,'R');
|
$this->Cell_typed($rabattWidth,$cellhoehe,"",0,0,'R');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3098,7 +3093,7 @@ class Briefpapier extends SuperFPDF {
|
||||||
$this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['price'] * $item['tmptax']), 0, 0, 'R');
|
$this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['price'] * $item['tmptax']), 0, 0, 'R');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//$this->Cell_typed($sumWidth,$cellhoehe,$this->formatMoney($item['tprice']).' '.$item['currency'],0,0,'R');
|
//$this->Cell_typed($sumWidth,$cellhoehe,$this->formatMoney($item['tprice']).' '.$item['currency'],0,0,'R');
|
||||||
if($this->rabatt=='1')
|
if($this->rabatt=='1')
|
||||||
{
|
{
|
||||||
|
|
@ -3112,14 +3107,12 @@ class Briefpapier extends SuperFPDF {
|
||||||
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
||||||
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
|
$this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
|
||||||
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
$this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
||||||
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3128,29 +3121,18 @@ class Briefpapier extends SuperFPDF {
|
||||||
// if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
// if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
||||||
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
|
$this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
|
||||||
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
$this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
||||||
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// OpenXE add price here
|
|
||||||
if (!empty($price_displayed)) {
|
|
||||||
if ($item['optional']) {
|
|
||||||
$this->Cell_typed($sumWidth, $cellhoehe, "(".$price_displayed.")", 0, 0, 'R');
|
|
||||||
} else {
|
|
||||||
$this->Cell_typed($sumWidth, $cellhoehe, $price_displayed, 0, 0, 'R');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(($this->doctype==='lieferschein' || $this->doctype==='preisanfrage') && $this->getStyleElement('artikeleinheit')=='1')
|
else if(($this->doctype==='lieferschein' || $this->doctype==='preisanfrage') && $this->getStyleElement('artikeleinheit')=='1')
|
||||||
{
|
{
|
||||||
|
|
@ -4026,7 +4008,7 @@ class Briefpapier extends SuperFPDF {
|
||||||
}
|
}
|
||||||
|
|
||||||
$beschriftung_zeile = ucfirst($zwischenpositionen[$i]['postype']);
|
$beschriftung_zeile = ucfirst($zwischenpositionen[$i]['postype']);
|
||||||
|
|
||||||
if($data['name']=="")
|
if($data['name']=="")
|
||||||
$html = ($fett?"<b>":"").$beschriftung_zeile.($fett?"</b>":"");
|
$html = ($fett?"<b>":"").$beschriftung_zeile.($fett?"</b>":"");
|
||||||
else
|
else
|
||||||
|
|
@ -4047,10 +4029,10 @@ class Briefpapier extends SuperFPDF {
|
||||||
$abstand_links = $posWidth +$itemNoWidth;
|
$abstand_links = $posWidth +$itemNoWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->SetX($x+$abstand_links);
|
$this->SetX($x+$abstand_links);
|
||||||
|
|
||||||
$text = $this->WriteHTML($html);
|
$text = $this->WriteHTML($html);
|
||||||
$text = empty($text)?"":$text;
|
$text = empty($text)?"":$text;
|
||||||
|
|
||||||
$this->Cell_typed($descWidth,4,);
|
$this->Cell_typed($descWidth,4,);
|
||||||
$this->SetX($x+$abstand_links+$descWidth);
|
$this->SetX($x+$abstand_links+$descWidth);
|
||||||
|
|
@ -4297,7 +4279,7 @@ class Briefpapier extends SuperFPDF {
|
||||||
$this->Cell_typed(40,3,'',0,0,'R');
|
$this->Cell_typed(40,3,'',0,0,'R');
|
||||||
}
|
}
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
}
|
}
|
||||||
$this->SetY($this->GetY()+2);
|
$this->SetY($this->GetY()+2);
|
||||||
//$this->Line(110, $this->GetY(), 190,$this->GetY());
|
//$this->Line(110, $this->GetY(), 190,$this->GetY());
|
||||||
}
|
}
|
||||||
|
|
@ -4338,16 +4320,6 @@ class Briefpapier extends SuperFPDF {
|
||||||
$this->Line($differenz_wegen_abstand+5, $this->GetY(), 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY());
|
$this->Line($differenz_wegen_abstand+5, $this->GetY(), 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY());
|
||||||
$this->Line($differenz_wegen_abstand+5, $this->GetY()+1, 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY()+1);
|
$this->Line($differenz_wegen_abstand+5, $this->GetY()+1, 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY()+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($this->totals['optional'])) {
|
|
||||||
$this->SetFont($this->GetFont(),'',$this->getStyleElement('schriftgroesse_gesamt'));
|
|
||||||
$this->Ln(2);
|
|
||||||
$this->Cell_typed($differenz_wegen_abstand,1,'',0);
|
|
||||||
$this->Cell_typed(30,5,"(".$this->app->erp->Beschriftung('dokument_gesamt_optional'),0,0,'L');
|
|
||||||
$this->Cell_typed(40,5,$this->formatMoney(round($this->totals['optional'],2), 2).' '.$this->waehrung.")",0,0,'R');
|
|
||||||
$this->Ln();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$this->SetY($this->GetY()+10);
|
$this->SetY($this->GetY()+10);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,202 +1,201 @@
|
||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
||||||
*
|
*
|
||||||
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
||||||
*
|
*
|
||||||
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
||||||
*
|
*
|
||||||
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
||||||
* to obtain the text of the corresponding license version.
|
* to obtain the text of the corresponding license version.
|
||||||
*
|
*
|
||||||
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
||||||
*/
|
*/
|
||||||
?>
|
?>
|
||||||
<?php
|
<?php
|
||||||
use Xentral\Components\Barcode\BarcodeFactory;
|
use Xentral\Components\Barcode\BarcodeFactory;
|
||||||
|
|
||||||
include_once "class.superfpdf.php";
|
include_once "class.superfpdf.php";
|
||||||
|
|
||||||
class EtikettenPDF extends SuperFPDF {
|
class EtikettenPDF extends SuperFPDF {
|
||||||
|
|
||||||
function __construct($app,$projekt="") {
|
function __construct($app,$projekt="") {
|
||||||
$this->app=$app;
|
$this->app=$app;
|
||||||
$this->page_definded=false;
|
$this->page_definded=false;
|
||||||
$this->images = array();
|
}
|
||||||
}
|
|
||||||
|
function SetXML($xml)
|
||||||
function SetXML($xml)
|
{
|
||||||
{
|
if(empty($xml))return;
|
||||||
if(empty($xml))return;
|
$xml = str_replace('&','&', $xml);
|
||||||
$xml = str_replace('&','&', $xml);
|
try {
|
||||||
try {
|
$label = new SimpleXMLElement($xml);
|
||||||
$label = new SimpleXMLElement($xml);
|
} catch (Exception $e) {
|
||||||
} catch (Exception $e) {
|
return;
|
||||||
return;
|
}
|
||||||
}
|
|
||||||
|
foreach($label as $key=>$items)
|
||||||
foreach($label as $key=>$items)
|
{
|
||||||
{
|
switch($key)
|
||||||
switch($key)
|
{
|
||||||
{
|
case "settings":
|
||||||
case "settings":
|
if(!$this->page_definded)
|
||||||
if(!$this->page_definded)
|
{
|
||||||
{
|
parent::__construct('P','mm',array(trim($items->attributes()->width),trim($items->attributes()->height)));
|
||||||
parent::__construct('P','mm',array(trim($items->attributes()->width),trim($items->attributes()->height)));
|
$this->page_definded = true;
|
||||||
$this->page_definded = true;
|
}
|
||||||
}
|
|
||||||
|
$this->SetAutoPageBreak(false);
|
||||||
$this->SetAutoPageBreak(false);
|
$this->SetFont('Arial','B',4);
|
||||||
$this->SetFont('Arial','B',4);
|
$this->SetLeftMargin(0);
|
||||||
$this->SetLeftMargin(0);
|
$this->SetMargins(0,0,0);
|
||||||
$this->SetMargins(0,0,0);
|
$this->AddPage();
|
||||||
$this->AddPage();
|
break;
|
||||||
break;
|
|
||||||
|
case "line":
|
||||||
case "line":
|
$this->SetXY(trim($items->attributes()->x),$items->attributes()->y,$items[0]);
|
||||||
$this->SetXY(trim($items->attributes()->x),$items->attributes()->y,$items[0]);
|
$this->SetFont('Arial','',$items->attributes()->size*2);
|
||||||
$this->SetFont('Arial','',$items->attributes()->size*2);
|
$this->MultiCell(0,$items->attributes()->size,$items[0],0,'L');
|
||||||
$this->MultiCell(0,$items->attributes()->size,$items[0],0,'L');
|
break;
|
||||||
break;
|
|
||||||
|
case "rectangle":
|
||||||
case "rectangle":
|
$attributes = $items->attributes();
|
||||||
$attributes = $items->attributes();
|
$borderwidth = 1;
|
||||||
$borderwidth = 1;
|
if(isset($attributes->size))$borderwidth = $attributes->size;
|
||||||
if(isset($attributes->size))$borderwidth = $attributes->size;
|
$this->SetLineWidth($borderwidth / 10);
|
||||||
$this->SetLineWidth($borderwidth / 10);
|
$this->Rect($items->attributes()->x, $items->attributes()->y,trim($items->attributes()->width),trim($items->attributes()->height),'B');
|
||||||
$this->Rect($items->attributes()->x, $items->attributes()->y,trim($items->attributes()->width),trim($items->attributes()->height),'B');
|
break;
|
||||||
break;
|
|
||||||
|
case "image":
|
||||||
case "image":
|
$filename = '';
|
||||||
$filename = '';
|
if(isset($items->attributes()->src))
|
||||||
if(isset($items->attributes()->src))
|
{
|
||||||
{
|
$src = str_replace('&','&',$items->attributes()->src);
|
||||||
$src = str_replace('&','&',$items->attributes()->src);
|
if(stripos($src,'http://') === false && stripos($src,'https://') === false)
|
||||||
if(stripos($src,'http://') === false && stripos($src,'https://') === false)
|
{
|
||||||
{
|
$src = 'http://'.$src;
|
||||||
$src = 'http://'.$src;
|
}
|
||||||
}
|
$content = file_get_contents($src);
|
||||||
$content = file_get_contents($src);
|
if($content)
|
||||||
if($content)
|
{
|
||||||
{
|
$filename = rtrim($this->app->erp->GetTMP(),'/').'/'.md5(microtime(true).$items[0]);
|
||||||
$filename = rtrim($this->app->erp->GetTMP(),'/').'/'.md5(microtime(true).$items[0]);
|
file_put_contents($filename.'1.jpg', $content);
|
||||||
file_put_contents($filename.'1.jpg', $content);
|
|
||||||
|
$bildbreite = trim($items->attributes()->width);
|
||||||
$bildbreite = trim($items->attributes()->width);
|
$bildhoehe = trim($items->attributes()->height);
|
||||||
$bildhoehe = trim($items->attributes()->height);
|
if(!class_exists('image'))include_once(__DIR__.'/../class.image.php');
|
||||||
if(!class_exists('image'))include_once(__DIR__.'/../class.image.php');
|
$img = new image($this->app);
|
||||||
$img = new image($this->app);
|
if($bildbreite > 0)
|
||||||
if($bildbreite > 0)
|
{
|
||||||
{
|
$breite = $bildbreite;
|
||||||
$breite = $bildbreite;
|
}else{
|
||||||
}else{
|
$breite = 30;
|
||||||
$breite = 30;
|
}
|
||||||
}
|
if($bildhoehe > 0)
|
||||||
if($bildhoehe > 0)
|
{
|
||||||
{
|
$hoehe = $bildhoehe;
|
||||||
$hoehe = $bildhoehe;
|
}else{
|
||||||
}else{
|
$hoehe = $breite;
|
||||||
$hoehe = $breite;
|
}
|
||||||
}
|
$_breite = $breite;
|
||||||
$_breite = $breite;
|
$_hoehe = $hoehe;
|
||||||
$_hoehe = $hoehe;
|
list($width, $height) = getimagesize($filename.'1.jpg');
|
||||||
list($width, $height) = getimagesize($filename.'1.jpg');
|
if($width > 0 && $height > 0)
|
||||||
if($width > 0 && $height > 0)
|
{
|
||||||
{
|
$scalex = $breite / $width;
|
||||||
$scalex = $breite / $width;
|
$scaley = $hoehe / $height;
|
||||||
$scaley = $hoehe / $height;
|
if($scalex < $scaley)
|
||||||
if($scalex < $scaley)
|
{
|
||||||
{
|
$hoehe /= $scaley / $scalex;
|
||||||
$hoehe /= $scaley / $scalex;
|
$hoehe = ceil($hoehe);
|
||||||
$hoehe = ceil($hoehe);
|
}else{
|
||||||
}else{
|
$breite /= $scalex / $scaley;
|
||||||
$breite /= $scalex / $scaley;
|
$breite = ceil($breite);
|
||||||
$breite = ceil($breite);
|
}
|
||||||
}
|
$str = $content;
|
||||||
$str = $content;
|
$manipulator = new ImageManipulator($str);
|
||||||
$manipulator = new ImageManipulator($str);
|
$manipulator->resample($_breite*10, $_hoehe*10, false,true, true);
|
||||||
$manipulator->resample($_breite*10, $_hoehe*10, false,true, true);
|
$typ = IMAGETYPE_JPEG;
|
||||||
$typ = IMAGETYPE_JPEG;
|
$manipulator->save($filename.'2.jpg', $typ);
|
||||||
$manipulator->save($filename.'2.jpg', $typ);
|
$items[0] = $filename.'2.jpg';
|
||||||
$items[0] = $filename.'2.jpg';
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
}
|
$type = exif_imagetype ( trim($items[0]) );
|
||||||
$type = exif_imagetype ( trim($items[0]) );
|
|
||||||
|
switch($type)
|
||||||
switch($type)
|
{
|
||||||
{
|
case IMAGETYPE_GIF: $type="gif"; break;
|
||||||
case IMAGETYPE_GIF: $type="gif"; break;
|
case IMAGETYPE_JPEG: $type="jpg"; break;
|
||||||
case IMAGETYPE_JPEG: $type="jpg"; break;
|
case IMAGETYPE_PNG: $type="png"; break;
|
||||||
case IMAGETYPE_PNG: $type="png"; break;
|
default: $type="";
|
||||||
default: $type="";
|
}
|
||||||
}
|
if($type!="")
|
||||||
if($type!="")
|
{
|
||||||
{
|
$this->Image(trim($items[0]),trim($items->attributes()->x),trim($items->attributes()->y),trim($items->attributes()->width),trim($items->attributes()->height),$type);
|
||||||
$this->Image(trim($items[0]),trim($items->attributes()->x),trim($items->attributes()->y),trim($items->attributes()->width),trim($items->attributes()->height),$type);
|
}
|
||||||
}
|
if($filename != '')
|
||||||
if($filename != '')
|
{
|
||||||
{
|
unlink($filename.'1.jpg');
|
||||||
unlink($filename.'1.jpg');
|
unlink($filename.'2.jpg');
|
||||||
unlink($filename.'2.jpg');
|
}
|
||||||
}
|
break;
|
||||||
break;
|
|
||||||
|
case "barcode":
|
||||||
case "barcode":
|
if((String)($items->attributes()->type)=="E30") {
|
||||||
if((String)($items->attributes()->type)=="E30") {
|
$this->EAN13($items->attributes()->x,$items->attributes()->y, $items[0],$items->attributes()->size);
|
||||||
$this->EAN13($items->attributes()->x,$items->attributes()->y, $items[0],$items->attributes()->size);
|
}
|
||||||
}
|
else if((String)($items->attributes()->type)=="Code128" || (String)($items->attributes()->type)=="1") {
|
||||||
else if((String)($items->attributes()->type)=="Code128" || (String)($items->attributes()->type)=="1") {
|
$this->Code128($items->attributes()->x, $items->attributes()->y, $items[0], $items->attributes()->width, $items->attributes()->size);
|
||||||
$this->Code128($items->attributes()->x, $items->attributes()->y, $items[0], $items->attributes()->width, $items->attributes()->size);
|
}
|
||||||
}
|
else if((String)($items->attributes()->type)=="GS1-128" || (String)($items->attributes()->type)=="1") {
|
||||||
else if((String)($items->attributes()->type)=="GS1-128" || (String)($items->attributes()->type)=="1") {
|
//$items[0] = "!FNC1!0104012345012345!FNC1!081231!FNC1!1012345";
|
||||||
//$items[0] = "!FNC1!0104012345012345!FNC1!081231!FNC1!1012345";
|
|
||||||
|
$tmp =explode("!FNC1!",$items[0]);
|
||||||
$tmp =explode("!FNC1!",$items[0]);
|
$codewithfnc1 = implode(chr(206),$tmp);
|
||||||
$codewithfnc1 = implode(chr(206),$tmp);
|
|
||||||
|
//echo chr(206)."0104012345012345".chr(206)."081231".chr(206)."1012345";
|
||||||
//echo chr(206)."0104012345012345".chr(206)."081231".chr(206)."1012345";
|
//$this->Code128($items->attributes()->x, $items->attributes()->y, chr(206)."0104012345012345".chr(206)."081231".chr(206)."1012345", $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
||||||
//$this->Code128($items->attributes()->x, $items->attributes()->y, chr(206)."0104012345012345".chr(206)."081231".chr(206)."1012345", $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
$this->Code128($items->attributes()->x, $items->attributes()->y, $codewithfnc1, $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
||||||
$this->Code128($items->attributes()->x, $items->attributes()->y, $codewithfnc1, $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
//$this->Code128($items->attributes()->x, $items->attributes()->y, chr(206).$items[0], $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
||||||
//$this->Code128($items->attributes()->x, $items->attributes()->y, chr(206).$items[0], $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
}
|
||||||
}
|
else { // standard auf 2 bzw default
|
||||||
else { // standard auf 2 bzw default
|
$this->Code39($items->attributes()->x,$items->attributes()->y, $items[0], 0.5, $items->attributes()->size);//, $printText=false)
|
||||||
$this->Code39($items->attributes()->x,$items->attributes()->y, $items[0], 0.5, $items->attributes()->size);//, $printText=false)
|
}
|
||||||
}
|
|
||||||
|
break;
|
||||||
break;
|
case "qrcode":
|
||||||
case "qrcode":
|
/** @var BarcodeFactory $factory */
|
||||||
/** @var BarcodeFactory $factory */
|
$factory = $this->app->Container->get('BarcodeFactory');
|
||||||
$factory = $this->app->Container->get('BarcodeFactory');
|
$ecLevel = 'M';
|
||||||
$ecLevel = 'M';
|
$type = 'png';
|
||||||
$type = 'png';
|
$filename = rtrim($this->app->erp->GetTMP(),'/').'/'.md5(microtime(true).$items[0]).'.' . $type;
|
||||||
$filename = rtrim($this->app->erp->GetTMP(),'/').'/'.md5(microtime(true).$items[0]).'.' . $type;
|
|
||||||
|
$qrText = (string) $items[0];
|
||||||
$qrText = (string) $items[0];
|
$qrcode = $factory->createQrCode($qrText, $ecLevel);
|
||||||
$qrcode = $factory->createQrCode($qrText, $ecLevel);
|
$width = $items->attributes()->width ?? $items->attributes()->size;
|
||||||
$width = $items->attributes()->width ?? $items->attributes()->size;
|
$height = $items->attributes()->height ?? $items->attributes()->size;
|
||||||
$height = $items->attributes()->height ?? $items->attributes()->size;
|
$image = $qrcode->toPng(trim($width), trim($height));
|
||||||
$image = $qrcode->toPng(trim($width), trim($height));
|
|
||||||
|
if(file_put_contents($filename, $image) === false) {
|
||||||
if(file_put_contents($filename, $image) === false) {
|
throw new RuntimeException('qrcode image cannot be created. Perhaps due to missing write permission');
|
||||||
throw new RuntimeException('qrcode image cannot be created. Perhaps due to missing write permission');
|
}
|
||||||
}
|
unset($image);
|
||||||
unset($image);
|
$this->Image(
|
||||||
$this->Image(
|
trim($filename),
|
||||||
trim($filename),
|
trim((int) $items->attributes()->x),
|
||||||
trim((int) $items->attributes()->x),
|
trim((int) $items->attributes()->y),
|
||||||
trim((int) $items->attributes()->y),
|
trim((int) $width),
|
||||||
trim((int) $width),
|
trim((int) $height),
|
||||||
trim((int) $height),
|
$type
|
||||||
$type
|
);
|
||||||
);
|
unlink($filename);
|
||||||
unlink($filename);
|
|
||||||
|
break;
|
||||||
break;
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -43,13 +43,8 @@ class GutschriftPDF extends BriefpapierCustom {
|
||||||
{
|
{
|
||||||
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
||||||
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
||||||
$this->ust_spalteausblende=false;
|
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
|
||||||
|
else $this->ust_spalteausblende=true;
|
||||||
if(!empty($check)) {
|
|
||||||
if (count($check) == 1) {
|
|
||||||
$this->ust_spalteausblende=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
||||||
|
|
|
||||||
|
|
@ -50,13 +50,8 @@ class RechnungPDF extends BriefpapierCustom {
|
||||||
{
|
{
|
||||||
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
||||||
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
||||||
$this->ust_spalteausblende=false;
|
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
|
||||||
|
else $this->ust_spalteausblende=true;
|
||||||
if(!empty($check)) {
|
|
||||||
if (count($check) == 1) {
|
|
||||||
$this->ust_spalteausblende=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
$lvl = null;
|
$lvl = null;
|
||||||
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
||||||
|
|
|
||||||
|
|
@ -3832,13 +3832,10 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
|
||||||
$term = str_replace(',','',$term);
|
$term = str_replace(',','',$term);
|
||||||
}
|
}
|
||||||
|
|
||||||
$adresse = (int)$this->app->Secure->GetGET('adresse');
|
|
||||||
if (!empty($adresse)) {
|
|
||||||
$subwhere .= " AND a.id = ".$adresse;
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql =
|
$sql =
|
||||||
"SELECT CONCAT(v.belegnr,
|
"SELECT CONCAT(v.id,
|
||||||
|
IF(IFNULL(v.belegnr, '') <> '' AND v.belegnr!=v.id,
|
||||||
|
CONCAT(' Nr. ',v.belegnr),''),
|
||||||
' Betrag: ',".$this->app->erp->FormatPreis('v.betrag',2).",
|
' Betrag: ',".$this->app->erp->FormatPreis('v.betrag',2).",
|
||||||
if(v.skonto <> 0,CONCAT(' mit Skonto ',v.skonto,'% ',
|
if(v.skonto <> 0,CONCAT(' mit Skonto ',v.skonto,'% ',
|
||||||
".$this->app->erp->FormatPreis("v.betrag-((v.betrag/100.0)*v.skonto)",2)."),''),' ',
|
".$this->app->erp->FormatPreis("v.betrag-((v.betrag/100.0)*v.skonto)",2)."),''),' ',
|
||||||
|
|
@ -3851,7 +3848,7 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
|
||||||
a.name,' (Lieferant ',a.lieferantennummer,if(a.lieferantennummer_buchhaltung!='' AND a.lieferantennummer <> a.lieferantennummer_buchhaltung,CONCAT(' ',a.lieferantennummer_buchhaltung),''),') RE ',v.rechnung,' Rechnungsdatum ',DATE_FORMAT(v.rechnungsdatum,'%d.%m.%Y')) as bezeichnung
|
a.name,' (Lieferant ',a.lieferantennummer,if(a.lieferantennummer_buchhaltung!='' AND a.lieferantennummer <> a.lieferantennummer_buchhaltung,CONCAT(' ',a.lieferantennummer_buchhaltung),''),') RE ',v.rechnung,' Rechnungsdatum ',DATE_FORMAT(v.rechnungsdatum,'%d.%m.%Y')) as bezeichnung
|
||||||
FROM verbindlichkeit AS v
|
FROM verbindlichkeit AS v
|
||||||
LEFT JOIN adresse AS a ON a.id=v.adresse
|
LEFT JOIN adresse AS a ON a.id=v.adresse
|
||||||
WHERE ($subwhere) AND bezahlt!=1 AND status!='storniert' AND belegnr <> ''
|
WHERE ($subwhere) AND bezahlt!=1 AND status!='storniert'
|
||||||
ORDER by v.id DESC"; //AND v.status!='bezahlt' // heute wieder raus
|
ORDER by v.id DESC"; //AND v.status!='bezahlt' // heute wieder raus
|
||||||
|
|
||||||
$arr = $this->app->DB->SelectArr($sql);
|
$arr = $this->app->DB->SelectArr($sql);
|
||||||
|
|
|
||||||
|
|
@ -1800,35 +1800,22 @@ class Artikel extends GenArtikel {
|
||||||
// SQL statement
|
// SQL statement
|
||||||
|
|
||||||
if (!empty($this->app->Conf->WFdbType) && $this->app->Conf->WFdbType == 'postgre') {
|
if (!empty($this->app->Conf->WFdbType) && $this->app->Conf->WFdbType == 'postgre') {
|
||||||
$sql = 'SELECT
|
$sql = 'SELECT s.id, a.name_de as artikel,a.nummer as nummer, trim(s.menge)+0 as menge,
|
||||||
s.id,
|
CASE WHEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id) > 0
|
||||||
a.name_de as artikel,
|
THEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id)
|
||||||
a.nummer as nummer,
|
ELSE 0
|
||||||
trim(SUM(s.menge))+0 as menge,
|
END as lager, s.artikel as menu
|
||||||
CASE
|
|
||||||
WHEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id) > 0
|
|
||||||
THEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id)
|
|
||||||
ELSE 0
|
|
||||||
END as lager,
|
|
||||||
s.artikel as menu
|
|
||||||
FROM stueckliste s LEFT JOIN artikel a ON s.artikel=a.id ';
|
FROM stueckliste s LEFT JOIN artikel a ON s.artikel=a.id ';
|
||||||
} else {
|
} else {
|
||||||
$sql = ' SELECT SQL_CALC_FOUND_ROWS
|
$sql = 'SELECT SQL_CALC_FOUND_ROWS s.id, a.name_de as artikel,a.nummer as nummer, trim(s.menge)+0 as menge,
|
||||||
s.id,
|
s.stuecklistevonartikel
|
||||||
a.name_de as artikel,
|
as menu
|
||||||
a.nummer as nummer,
|
FROM stueckliste s LEFT JOIN artikel a ON s.stuecklistevonartikel=a.id ';
|
||||||
trim(SUM(s.menge))+0 as menge,
|
|
||||||
s.stuecklistevonartikel AS menu
|
|
||||||
FROM
|
|
||||||
stueckliste s
|
|
||||||
LEFT JOIN artikel a ON s.stuecklistevonartikel=a.id ';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fester filter
|
// Fester filter
|
||||||
$where = "s.artikel='$id' ";
|
$where = "s.artikel='$id' ";
|
||||||
|
|
||||||
$groupby = " GROUP BY a.id";
|
|
||||||
|
|
||||||
// gesamt anzahl
|
// gesamt anzahl
|
||||||
$count = "SELECT COUNT(s.id) FROM stueckliste s WHERE s.stuecklistevonartikel='$id' ";
|
$count = "SELECT COUNT(s.id) FROM stueckliste s WHERE s.stuecklistevonartikel='$id' ";
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -1,238 +0,0 @@
|
||||||
<?php
|
|
||||||
/*
|
|
||||||
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
|
||||||
*
|
|
||||||
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
|
||||||
*
|
|
||||||
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
|
||||||
*
|
|
||||||
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
|
||||||
* to obtain the text of the corresponding license version.
|
|
||||||
*
|
|
||||||
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
|
||||||
*/
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
class Belegevorlagen
|
|
||||||
{
|
|
||||||
static function TableSearch(&$app, $name, $erlaubtevars)
|
|
||||||
{
|
|
||||||
switch($name)
|
|
||||||
{
|
|
||||||
case "belegevorlagen_list":
|
|
||||||
$heading = array('Bezeichnung','Belegtyp','Projekt','Menü');
|
|
||||||
$width = array('40%','20%','29%','1%');
|
|
||||||
$findcols = array('b.bezeichnung','b.belegtyp','pr.abkuerzung','b.id');
|
|
||||||
$searchsql = array('b.bezeichnung','b.belegtyp','pr.abkuerzung');
|
|
||||||
$menu = "<table><tr><td nowrap><a href=\"#\" onclick=\"deletevorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"></a></td></tr></table>";
|
|
||||||
$sql = "SELECT SQL_CALC_FOUND_ROWS b.id, b.bezeichnung,CONCAT(UCASE(LEFT(b.belegtyp, 1)), SUBSTRING(b.belegtyp, 2)), pr.abkuerzung, b.id FROM belegevorlagen b LEFT JOIN projekt pr ON b.projekt = pr.id";
|
|
||||||
$where = $app->erp->ProjektRechte('b.projekt');
|
|
||||||
break;
|
|
||||||
case "belegevorlagen_list2":
|
|
||||||
$belegtyp = $app->Secure->GetGET('smodule');
|
|
||||||
$heading = array('Bezeichnung','Projekt','Menü');
|
|
||||||
$width = array('50%','49%','1%');
|
|
||||||
$findcols = array('b.bezeichnung','pr.abkuerzung','b.id');
|
|
||||||
$searchsql = array('b.bezeichnung','pr.abkuerzung');
|
|
||||||
$menu = "<table><tr><td nowrap><a href=\"#\" onclick=\"loadbelegvorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/forward.svg\" border=\"0\"></a> <a href=\"#\" onclick=\"deletevorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"></a></td></tr></table>";
|
|
||||||
$sql = "SELECT SQL_CALC_FOUND_ROWS b.id, b.bezeichnung, pr.abkuerzung, b.id FROM belegevorlagen b LEFT JOIN projekt pr ON b.projekt = pr.id";
|
|
||||||
$where = "belegtyp = '$belegtyp' ".$app->erp->ProjektRechte('b.projekt');
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$erg = false;
|
|
||||||
foreach($erlaubtevars as $k => $v)
|
|
||||||
{
|
|
||||||
if(isset($$v))$erg[$v] = $$v;
|
|
||||||
}
|
|
||||||
return $erg;
|
|
||||||
}
|
|
||||||
function __construct(&$app, $intern = false)
|
|
||||||
{
|
|
||||||
$this->app=&$app;
|
|
||||||
$this->artikel = $this->app->erp->GetKonfiguration('gesamtrabatt_artikel');
|
|
||||||
if($intern)return;
|
|
||||||
$this->app->ActionHandlerInit($this);
|
|
||||||
$this->app->ActionHandler("list","BelegevorlagenList");
|
|
||||||
$this->app->ActionHandler("einstellungen","BelegevorlagenEinstellungen");
|
|
||||||
$this->app->DefaultActionHandler("list");
|
|
||||||
$this->app->ActionHandlerListen($app);
|
|
||||||
}
|
|
||||||
|
|
||||||
function BelegevorlagenMenu(){
|
|
||||||
$this->app->erp->MenuEintrag("index.php?module=belegevorlagen&action=list","Übersicht");
|
|
||||||
$this->app->erp->MenuEintrag("index.php?module=belegevorlagen&action=einstellungen","Einstellungen");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function BelegevorlagenList()
|
|
||||||
{
|
|
||||||
if($this->app->Secure->GetGET('cmd') == 'delvorlage')
|
|
||||||
{
|
|
||||||
$id = (int)$this->app->Secure->GetPOST('lid');
|
|
||||||
$this->app->DB->Delete("DELETE FROM belegevorlagen WHERE id = '$id' LIMIT 1");
|
|
||||||
echo json_encode(array('status'=>1));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
$this->BelegevorlagenMenu();
|
|
||||||
$this->app->YUI->TableSearch('TAB1', "belegevorlagen_list", "show","","",basename(__FILE__), __CLASS__);
|
|
||||||
$this->app->Tpl->Parse('PAGE','belegevorlagen_list.tpl');
|
|
||||||
}
|
|
||||||
|
|
||||||
function BelegevorlagenEinstellungen()
|
|
||||||
{
|
|
||||||
$this->BelegevorlagenMenu();
|
|
||||||
|
|
||||||
$this->app->Tpl->Set('PREISEAKTUALISIEREN',$this->app->erp->GetKonfiguration('belegevorlagen_preiseaktualisieren')=='on'?'checked':'');
|
|
||||||
$this->app->YUI->AutoSaveKonfiguration('preiseaktualisieren','belegevorlagen_preiseaktualisieren');
|
|
||||||
|
|
||||||
$this->app->Tpl->Parse('PAGE','belegevorlagen_einstellungen.tpl');
|
|
||||||
}
|
|
||||||
|
|
||||||
function Install()
|
|
||||||
{
|
|
||||||
$this->app->erp->CheckTable('belegevorlagen');
|
|
||||||
$this->app->erp->CheckColumn("id","int(11)","belegevorlagen","DEFAULT '0' NOT NULL AUTO_INCREMENT");
|
|
||||||
$this->app->erp->CheckColumn("belegtyp", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
|
|
||||||
$this->app->erp->CheckColumn("bezeichnung", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
|
|
||||||
$this->app->erp->CheckColumn("projekt", "int(11)", "belegevorlagen", "DEFAULT '0' NOT NULL");
|
|
||||||
$this->app->erp->CheckColumn("json", "MEDIUMTEXT", "belegevorlagen", "DEFAULT '' NOT NULL");
|
|
||||||
$this->app->erp->CheckColumn("bearbeiter", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
|
|
||||||
$this->app->erp->CheckColumn("zeitstempel", "timestamp", "belegevorlagen","DEFAULT CURRENT_TIMESTAMP NOT NULL");
|
|
||||||
|
|
||||||
$this->app->erp->RegisterHook('BelegPositionenButtons', 'belegevorlagen', 'BelegevorlagenBelegPositionenButtons');
|
|
||||||
$this->app->erp->RegisterHook('AARLGPositionen_cmds_end', 'belegevorlagen', 'BelegevorlagenAARLGPositionen_cmds_end');
|
|
||||||
$this->app->erp->RegisterHook('ajax_filter_hook1', 'belegevorlagen', 'Belegevorlagenajax_filter_hook1');
|
|
||||||
}
|
|
||||||
|
|
||||||
function Belegevorlagenajax_filter_hook1($filtername,&$newarr, $term, $term2, $term3)
|
|
||||||
{
|
|
||||||
if($filtername == 'belegvorlagen')
|
|
||||||
{
|
|
||||||
$arr = $this->app->DB->SelectArr("SELECT CONCAT(b.id,' ',b.bezeichnung) as bezeichnung FROM belegevorlagen b
|
|
||||||
WHERE (b.bezeichnung LIKE '%$term%') ".$this->app->erp->ProjektRechte('b.projekt'));
|
|
||||||
if($arr)
|
|
||||||
{
|
|
||||||
for($i=0;$i<count($arr);$i++)
|
|
||||||
$newarr[] = $arr[$i]['bezeichnung'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function BelegevorlagenBelegPositionenButtons($target, $module, $id)
|
|
||||||
{
|
|
||||||
if($module=="angebot" || $module=="auftrag" || $module=="rechnung" || $module=="lieferschein" || $module=="gutschrift" || $module=="proformarechnung")
|
|
||||||
{
|
|
||||||
$this->app->Tpl->Set('ID', $id);
|
|
||||||
$this->app->Tpl->Set('MODULE', $module);
|
|
||||||
$this->app->YUI->AutoComplete('bestehendevorlage','belegvorlagen');
|
|
||||||
$this->app->YUI->TableSearch('BELEGEVORLAGENTABELLE', "belegevorlagen_list2", "show","","",basename(__FILE__), __CLASS__);
|
|
||||||
$this->app->Tpl->Add($target, "<input type=\"button\" id=\"belegevorlagen\" value=\"Belegevorlagen\"> ".$this->app->Tpl->Parse($target,'belegevorlagen_widget.tpl'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function BelegevorlagenAARLGPositionen_cmds_end($id){
|
|
||||||
$module = $this->app->Secure->GetGET('module');
|
|
||||||
if(!$module)return;
|
|
||||||
|
|
||||||
$projekt = $this->app->DB->Select("SELECT projekt FROM $module WHERE id='$id' LIMIT 1");
|
|
||||||
if($projekt <=0) $projekt=0;
|
|
||||||
|
|
||||||
if($this->app->Secure->GetGET('cmd') == 'deletebelegvorlage')
|
|
||||||
{
|
|
||||||
$status = 1;
|
|
||||||
$lid = (int)$this->app->Secure->GetPOST('lid');
|
|
||||||
$this->app->DB->Delete("DELETE FROM belegevorlagen WHERE id = '$lid' AND belegtyp = '$module' LIMIT 1");
|
|
||||||
echo json_encode(array('status'=>$status));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($this->app->Secure->GetGET('cmd') == 'loadbelegvorlage')
|
|
||||||
{
|
|
||||||
$status = 0;
|
|
||||||
$lid = (int)$this->app->Secure->GetPOST('lid');
|
|
||||||
$json = (String)$this->app->DB->Select("SELECT json FROM belegevorlagen WHERE id = '$lid' AND belegtyp = '$module' LIMIT 1");
|
|
||||||
if($json !== '')
|
|
||||||
{
|
|
||||||
$json = json_decode($json, true);
|
|
||||||
$maxsort = (int)$this->app->DB->Select("SELECT max(sort) FROM $module"."_position WHERE $module = '$id' LIMIT 1");
|
|
||||||
if(isset($json['positionen']))
|
|
||||||
{
|
|
||||||
foreach($json['positionen'] as $v)
|
|
||||||
{
|
|
||||||
$v[$module] = $id;
|
|
||||||
if($this->app->erp->GetKonfiguration('belegevorlagen_preiseaktualisieren')=='on'){
|
|
||||||
if($v['artikel'] != '0'){
|
|
||||||
$v['preis'] = $this->app->erp->GetVerkaufspreis($v['artikel'],$v['menge']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$v['sort'] += $maxsort;
|
|
||||||
$this->app->DB->Insert("INSERT INTO $module"."_position (id) VALUES ('')");
|
|
||||||
$idnew = $this->app->DB->GetInsertID();
|
|
||||||
$oldtonew[$v['id']] = $idnew;
|
|
||||||
if($v['explodiert_parent'] && isset($oldtonew) && isset($oldtonew[$v['explodiert_parent']]))$v['explodiert_parent'] = $oldtonew[$v['explodiert_parent']];
|
|
||||||
unset($v['id']);
|
|
||||||
$this->app->DB->UpdateArr($module.'_position',$idnew,"id",$v, true);
|
|
||||||
if(is_null($v['steuersatz']))$this->app->DB->Update("UPDATE ".$module."_position SET steuersatz = NULL WHERE id = '$idnew' LIMIT 1");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(isset($json['zwischenpositionen']))
|
|
||||||
{
|
|
||||||
$maxpos = $this->app->DB->SelectArr("SELECT id,sort FROM beleg_zwischenpositionen WHERE doctype = '$module' AND doctypeid = '$id' AND pos='$maxsort' ORDER BY sort DESC LIMIT 1");
|
|
||||||
if($maxpos)
|
|
||||||
{
|
|
||||||
$sortoffset = 1 + $maxpos[0]['sort'];
|
|
||||||
}else{
|
|
||||||
$sortoffset = 0;
|
|
||||||
}
|
|
||||||
foreach($json['zwischenpositionen'] as $v)
|
|
||||||
{
|
|
||||||
if($v['pos'] == 0)$v['sort'] += $sortoffset;
|
|
||||||
$v['doctypeid'] = $id;
|
|
||||||
$v['pos'] += $maxsort;
|
|
||||||
unset($v['id']);
|
|
||||||
$this->app->DB->Insert("INSERT INTO beleg_zwischenpositionen (id) VALUES ('')");
|
|
||||||
$idnew = $this->app->DB->GetInsertID();
|
|
||||||
$this->app->DB->UpdateArr('beleg_zwischenpositionen',$idnew,"id",$v, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$status = 1;
|
|
||||||
$this->app->erp->ANABREGSNeuberechnen($id,$module);
|
|
||||||
}
|
|
||||||
echo json_encode(array('status'=>$status));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
if($this->app->Secure->GetGET('cmd') == 'savebelegevorlage')
|
|
||||||
{
|
|
||||||
$json = null;
|
|
||||||
$status = 0;
|
|
||||||
$bestehendevorlage = (int)reset(explode(' ',$this->app->Secure->GetPOST('bestehendevorlage')));
|
|
||||||
$bezeichnung = (String)$this->app->Secure->GetPOST('bezeichnung');
|
|
||||||
$vorlagetyp = $this->app->Secure->GetPOST('vorlagetyp');
|
|
||||||
$bearbeiter = $this->app->DB->real_escape_string($this->app->User->GetName());
|
|
||||||
$lid = null;
|
|
||||||
if($vorlagetyp == 'neu')
|
|
||||||
{
|
|
||||||
if($bezeichnung !== '')
|
|
||||||
{
|
|
||||||
$this->app->DB->Insert("INSERT INTO belegevorlagen (bezeichnung, belegtyp, bearbeiter, zeitstempel,projekt) VALUES ('$bezeichnung','$module','$bearbeiter',now(),'$projekt')");
|
|
||||||
$lid = $this->app->DB->GetInsertID();
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
$lid = $this->app->DB->Select("SELECT id FROM belegevorlagen WHERE id = '$bestehendevorlage' LIMIT 1");
|
|
||||||
if($lid && $bezeichnung !== '')$this->app->DB->Update("UPDATE belegevorlagen set bezeichnung = '$bezeichnung' WHERE id = '$bestehendevorlage' LIMIT 1");
|
|
||||||
}
|
|
||||||
if($lid)
|
|
||||||
{
|
|
||||||
$json['positionen'] = $this->app->DB->SelectArr("SELECT * FROM $module"."_position WHERE $module = '$id' ORDER BY sort");
|
|
||||||
$json['zwischenpositionen'] = $this->app->DB->SelectArr("SELECT * FROM beleg_zwischenpositionen WHERE doctype = '$module' AND doctypeid = '$id' ORDER BY pos, sort");
|
|
||||||
$json = $this->app->DB->real_escape_string(json_encode($json));
|
|
||||||
$this->app->DB->Update("UPDATE belegevorlagen set json = '$json', zeitstempel = now(), bearbeiter = '$bearbeiter' WHERE id = '$lid' LIMIT 1");
|
|
||||||
$status = 1;
|
|
||||||
}
|
|
||||||
echo json_encode(array('status'=>$status));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
<div id="tabs">
|
|
||||||
<ul>
|
|
||||||
<li><a href="#tabs-1"><!--[TABTEXT]--></a></li>
|
|
||||||
</ul>
|
|
||||||
<!-- ende gehort zu tabview -->
|
|
||||||
|
|
||||||
<!-- erstes tab -->
|
|
||||||
<div id="tabs-1">
|
|
||||||
[MESSAGE]
|
|
||||||
<fieldset>
|
|
||||||
<legend>Einstellungen</legend>
|
|
||||||
<input type="checkbox" name="preiseaktualisieren" id="preiseaktualisieren" [PREISEAKTUALISIEREN] /> <label for="preiseaktualisieren">Aktuelle Artikelpreise verwenden wenn Belegvorlage geladen wird.</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
[TAB1]
|
|
||||||
[TAB1NEXT]
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- tab view schließen -->
|
|
||||||
</div>
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
<div id="tabs">
|
|
||||||
<ul>
|
|
||||||
<li><a href="#tabs-1"><!--[TABTEXT]--></a></li>
|
|
||||||
</ul>
|
|
||||||
<!-- ende gehort zu tabview -->
|
|
||||||
|
|
||||||
<!-- erstes tab -->
|
|
||||||
<div id="tabs-1">
|
|
||||||
[MESSAGE]
|
|
||||||
[TAB1]
|
|
||||||
[TAB1NEXT]
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- tab view schließen -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
function deletevorlage(belegid)
|
|
||||||
{
|
|
||||||
if(confirm('Vorlage wirklich löschen?'))
|
|
||||||
{
|
|
||||||
$('#belegevorlagendiv').dialog('close');
|
|
||||||
$.ajax({
|
|
||||||
url: 'index.php?module=belegevorlagen&action=list&cmd=delvorlage',
|
|
||||||
type: 'POST',
|
|
||||||
dataType: 'json',
|
|
||||||
data: {lid:belegid},
|
|
||||||
success: function(data) {
|
|
||||||
var oTable = $('#belegevorlagen_list').DataTable( );
|
|
||||||
oTable.ajax.reload();
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
@ -27,10 +27,6 @@
|
||||||
<td>{|Verbindlichkeiten:|}</td>
|
<td>{|Verbindlichkeiten:|}</td>
|
||||||
<td><input type="checkbox" name="verbindlichkeit" value="1" [VBCHECKED] /></td>
|
<td><input type="checkbox" name="verbindlichkeit" value="1" [VBCHECKED] /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td>{|Lieferantengutschriften:|}</td>
|
|
||||||
<td><input type="checkbox" name="lieferantengutschrift" value="1" [LGCHECKED] /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Datum von:</td>
|
<td>Datum von:</td>
|
||||||
<td><input type="text" name="von" id="von" value="[VON]" /></td>
|
<td><input type="text" name="von" id="von" value="[VON]" /></td>
|
||||||
|
|
|
||||||
|
|
@ -775,10 +775,6 @@
|
||||||
<td>Nächste Verbindlichkeitsnummer:</td><td><input type="text" name="next_verbindlichkeit" readonly value="[NEXT_VERBINDLICHKEIT]" size="40">
|
<td>Nächste Verbindlichkeitsnummer:</td><td><input type="text" name="next_verbindlichkeit" readonly value="[NEXT_VERBINDLICHKEIT]" size="40">
|
||||||
<input type="button" onclick="next_number('verbindlichkeit','[NEXT_VERBINDLICHKEIT]');" value="bearbeiten"></td>
|
<input type="button" onclick="next_number('verbindlichkeit','[NEXT_VERBINDLICHKEIT]');" value="bearbeiten"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td>Nächste Lieferantengutschriftnummer:</td><td><input type="text" name="next_lieferantengutschrift" readonly value="[NEXT_LIEFERANTENGUTSCHRIFT]" size="40">
|
|
||||||
<input type="button" onclick="next_number('lieferantengutschrift','[NEXT_LIEFERANTENGUTSCHRIFT]');" value="bearbeiten"></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Nächste Kundennummer:</td><td><input type="text" name="next_kundennummer" readonly value="[NEXT_KUNDENNUMMER]" size="40">
|
<td>Nächste Kundennummer:</td><td><input type="text" name="next_kundennummer" readonly value="[NEXT_KUNDENNUMMER]" size="40">
|
||||||
<input type="button" onclick="next_number('kundennummer','[NEXT_KUNDENNUMMER]');" value="bearbeiten"></td>
|
<input type="button" onclick="next_number('kundennummer','[NEXT_KUNDENNUMMER]');" value="bearbeiten"></td>
|
||||||
|
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
[POSITIONENMESSAGE]
|
|
||||||
<form method="post" action="#tabs-2">
|
|
||||||
<div class="row" [POSITIONHINZUFUEGENHIDDEN]>
|
|
||||||
<div class="row-height">
|
|
||||||
<div class="col-xs-14 col-md-12 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset>
|
|
||||||
<legend style="float:left">Artikel hinzufügen:</legend>
|
|
||||||
<div class="filter-box filter-usersave" style="float:right;">
|
|
||||||
<div class="filter-block filter-inline">
|
|
||||||
<div class="filter-title">{|Filter|}</div>
|
|
||||||
<ul class="filter-list">
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="passende" class="switch">
|
|
||||||
<input type="checkbox" id="passende">
|
|
||||||
<span class="slider round"></span>
|
|
||||||
</label>
|
|
||||||
<label for="passende">{|Nur passende (Bestellung/Rechnungsnummer)|}</label>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
[ARTIKELMANUELL]
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-14 col-md-2 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset>
|
|
||||||
<table width="100%" border="0" class="mkTableFormular">
|
|
||||||
<legend>{|Aktionen|}</legend>
|
|
||||||
<tr [HINZUFUEGENHIDDEN]>
|
|
||||||
<td>
|
|
||||||
{|Multifilter|}: <img src="./themes/new/images/tooltip_grau.png" border="0" style="position: relative; left: 1px; top: 3px; z-index: 8;" class="wawitooltipicon" title="Auswahl mehrerer Artikel über Name oder Nummer">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><input type="checkbox" name="bruttoeingabe" value="1" />Bruttopreise eingeben</td>
|
|
||||||
</tr>
|
|
||||||
<tr [HINZUFUEGENHIDDEN]>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="multifilter" id="multifilter" value="[MULTIFILTER]" size="20" style="width:98%;" form="">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><button [SAVEDISABLED] name="submit" value="artikel_manuell_hinzufuegen" class="ui-button-icon" style="width:100%;">Hinzufügen</button></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
@ -1,219 +0,0 @@
|
||||||
<div id="tabs">
|
|
||||||
<ul>
|
|
||||||
<li><a href="#tabs-1">Lieferantengutschrift</a></li>
|
|
||||||
<li [POSITIONENHIDDEN]><a href="#tabs-2">Positionen</a></li>
|
|
||||||
<li [POSITIONENHIDDEN]><a href="#tabs-4">Artikel manuell</a></li>
|
|
||||||
<li><a href="#tabs-3">Protokoll</a></li>
|
|
||||||
</ul>
|
|
||||||
<div id="tabs-1">
|
|
||||||
[MESSAGE]
|
|
||||||
<form action="" method="post">
|
|
||||||
[FORMHANDLEREVENT]
|
|
||||||
<div class="row">
|
|
||||||
<div class="row-height">
|
|
||||||
<div class="col-xs-12 col-md-6 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<div class="row">
|
|
||||||
<div class="row-height">
|
|
||||||
<div class="col-xs-12 col-md-8 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset style="float: left;">
|
|
||||||
<legend>{|<b>Lieferantengutschrift <font color="blue">[BELEGNR]</font></b> Lf-Nr. <a href="index.php?module=adresse&action=edit&id=[ADRESSE_ID]">[LIEFERANTENNUMMER]|}</a></legend>
|
|
||||||
[STATUSICONS]
|
|
||||||
</fieldset>
|
|
||||||
<fieldset style="float: right;">
|
|
||||||
<button name="submit" value="speichern" class="ui-button-icon" style="width:100%;">Speichern</button>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="row-height">
|
|
||||||
<div class="col-xs-12 col-md-8 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset>
|
|
||||||
<table width="100%" border="0" class="mkTableFormular">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Status|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" value="[STATUS]" size="20" disabled>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Adresse|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="adresse" id="adresse" value="[ADRESSE]" size="20" [ADRESSESAVEDISABLED] required>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Lieferantengutschrifts-Nr.|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="rechnung" id="rechnung" value="[RECHNUNG]" size="20" [SAVEDISABLED] required>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Lieferantengutschriftsdatum|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="rechnungsdatum" id="rechnungsdatum" value="[RECHNUNGSDATUM]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Eingangsdatum|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="eingangsdatum" id="eingangsdatum" value="[EINGANGSDATUM]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Betrag brutto|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="number" step="0.01" name="betrag" id="betrag" value="[BETRAG]" size="20" [SAVEDISABLED]>
|
|
||||||
<select name="waehrung" [SAVEDISABLED]>[WAEHRUNGSELECT]</select>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Betrag Positionen brutto|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="number" step="0.01" name="betragbruttopos" id="betragbruttopos" value="[BETRAGBRUTTOPOS]" size="20" disabled><img class="wawitooltipicon" src="themes/new/images/tooltip_grau.png" title="Rundungsdifferenz [RUNDUNGSDIFFERENZ] wurde automatisch berücksichtigt" [RUNDUNGSDIFFERENZICONHIDDEN]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Betrag Positionen netto|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="number" step="0.01" name="betragnetto" id="betragnetto" value="[BETRAGNETTO]" size="20" disabled [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Zahlbar bis|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="zahlbarbis" id="zahlbarbis" value="[ZAHLBARBIS]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Skonto %|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="skonto" id="skonto" value="[SKONTO]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Skonto bis|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="skontobis" id="skontobis" value="[SKONTOBIS]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Bestellung|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="bestellung" id="bestellung" value="[BESTELLUNG]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Waren-/Leistungsprüfung (Einkauf)|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="checkbox" id="wareneingang" value="1" [WARENEINGANGCHECKED] size="20" disabled>
|
|
||||||
<a href="index.php?module=lieferantengutschrift&action=freigabeeinkauf&id=[ID]" title="freigeben" [FREIGABEEINKAUFHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
|
|
||||||
<a href="index.php?module=lieferantengutschrift&action=ruecksetzeneinkauf&id=[ID]" title="rücksetzen" [RUECKSETZENEINKAUFHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
|
|
||||||
<i [EINKAUFINFOHIDDEN]>Wird automatisch gesetzt wenn Positionen vollständig</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Lieferantengutschriftseingangsprüfung (Buchhaltung)|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="checkbox" id="rechnungsfreigabe" [RECHNUNGSFREIGABECHECKED] size="20" disabled>
|
|
||||||
<a href="index.php?module=lieferantengutschrift&action=freigabebuchhaltung&id=[ID]" title="freigeben" [FREIGABEBUCHHALTUNGHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
|
|
||||||
<a href="index.php?module=lieferantengutschrift&action=ruecksetzenbuchhaltung&id=[ID]" title="rücksetzen" [RUECKSETZENBUCHHALTUNGHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Bezahlt|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="checkbox" id="zahlungsstatus" [BEZAHLTCHECKED] size="20" disabled>
|
|
||||||
<a href="index.php?module=lieferantengutschrift&action=freigabebezahlt&id=[ID]" title="auf 'bezahlt' setzen" [FREIGABEBEZAHLTHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
|
|
||||||
<a href="index.php?module=lieferantengutschrift&action=ruecksetzenbezahlt&id=[ID]" title="rücksetzen" [RUECKSETZENBEZAHLTHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Projekt|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="projekt" id="projekt" value="[PROJEKT]" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Kostenstelle|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="kostenstelle" id="kostenstelle" value="[KOSTENSTELLE]" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Internebemerkung|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<textarea name="internebemerkung" id="internebemerkung" rows="6" style="width:100%;">[INTERNEBEMERKUNG]</textarea>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-md-6 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset>
|
|
||||||
<legend>{|Vorschau|}</legend>
|
|
||||||
[INLINEPDF]
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div id="tabs-2">
|
|
||||||
[POSITIONENTAB]
|
|
||||||
</div>
|
|
||||||
<div id="tabs-4">
|
|
||||||
[POSITIONENMANUELLTAB]
|
|
||||||
</div>
|
|
||||||
<div id="tabs-3">
|
|
||||||
[MINIDETAIL]
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
||||||
<div id="tabs">
|
|
||||||
<ul>
|
|
||||||
<li><a href="#tabs-1">[TABTEXT1]</a></li>
|
|
||||||
</ul>
|
|
||||||
<div id="tabs-1">
|
|
||||||
[MESSAGE]
|
|
||||||
|
|
||||||
<div class="filter-box filter-usersave">
|
|
||||||
<div class="filter-block filter-inline">
|
|
||||||
<div class="filter-title">{|Filter|}</div>
|
|
||||||
<ul class="filter-list">
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="anhang" class="switch">
|
|
||||||
<input type="checkbox" id="anhang">
|
|
||||||
<span class="slider round"></span>
|
|
||||||
</label>
|
|
||||||
<label for="anhang">{|Anhang fehlt|}</label>
|
|
||||||
</li>
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="wareneingang" class="switch">
|
|
||||||
<input type="checkbox" id="wareneingang">
|
|
||||||
<span class="slider round"></span>
|
|
||||||
</label>
|
|
||||||
<label for="wareneingang">{|Wareingang/Leistungsprüfung fehlt|}</label>
|
|
||||||
</li>
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="rechnungsfreigabe" class="switch">
|
|
||||||
<input type="checkbox" id="rechnungsfreigabe">
|
|
||||||
<span class="slider round"></span>
|
|
||||||
</label>
|
|
||||||
<label for="rechnungsfreigabe">{|Lieferantengutschriftseingangsprüfung fehlt|}</label>
|
|
||||||
</li>
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="nichtbezahlt" class="switch">
|
|
||||||
<input type="checkbox" id="nichtbezahlt">
|
|
||||||
<span class="slider round"></span>
|
|
||||||
</label>
|
|
||||||
<label for="nichtbezahlt">{|Nicht bezahlt|}</label>
|
|
||||||
</li>
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="stornierte" class="switch">
|
|
||||||
<input type="checkbox" id="stornierte">
|
|
||||||
<span class="slider round"></span>
|
|
||||||
</label>
|
|
||||||
<label for="stornierte">{|Inkl. stornierte|}</label>
|
|
||||||
</li>
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="abgeschlossen" class="switch">
|
|
||||||
<input type="checkbox" id="abgeschlossen">
|
|
||||||
<span class="slider round"></span>
|
|
||||||
</label>
|
|
||||||
<label for="abgeschlossen">{|Inkl. abgeschlossene|}</label>
|
|
||||||
</li>
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="zahlbarbis">{|Zahlbar bis|}:</label>
|
|
||||||
<input type="text" name="zahlbarbis" id="zahlbarbis" size="10">
|
|
||||||
</li>
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="skontobis">{|Skonto bis|}:</label>
|
|
||||||
<input type="text" name="skontobis" id="skontobis" size="10">
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<form method="post" action="#">
|
|
||||||
<button name="submit" value="status_berechnen" class="ui-button-icon">{|Status auffrischen|}</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form method="post" action="#">
|
|
||||||
[TAB1]
|
|
||||||
<fieldset><legend>{|Stapelverarbeitung|}</legend>
|
|
||||||
<input type="checkbox" id="auswahlalle" onchange="alleauswaehlen();" /> {|alle markieren|}
|
|
||||||
<select id="sel_aktion" name="sel_aktion">
|
|
||||||
<option value="">{|bitte wählen|} ...</option>
|
|
||||||
[MANUELLFREIGABEEINKAUF]
|
|
||||||
[MANUELLFREIGABEBUCHHALTUNG]
|
|
||||||
[ALSBEZAHLTMARKIEREN]
|
|
||||||
</select>
|
|
||||||
<button name="submit" value="ausfuehren" class="ui-button-icon">{|Ausführen|}</button>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
[TAB1NEXT]
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function alleauswaehlen()
|
|
||||||
{
|
|
||||||
var wert = $('#auswahlalle').prop('checked');
|
|
||||||
$('#lieferantengutschrift_list').find(':checkbox').prop('checked',wert);
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
[FORMHANDLEREVENT]
|
|
||||||
[MESSAGE]
|
|
||||||
<style>
|
|
||||||
.auftraginfo_cell {
|
|
||||||
color: #636363;border: 1px solid #ccc;padding: 5px;
|
|
||||||
}
|
|
||||||
.auftrag_cell {
|
|
||||||
color: #636363;border: 1px solid #fff;padding: 0px; margin:0px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<div style="float:left; width:39%; padding-right:1%;">
|
|
||||||
<table width="100%" border="0">
|
|
||||||
<tr valign="top">
|
|
||||||
<td width="150">Lieferant:</td>
|
|
||||||
<td colspan="3">[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Lieferantengutschrifts-Nr.:</td>
|
|
||||||
<td>[RECHNUNG][MSGRECHNUNG]</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Lieferantengutschriftsdatum:</td>
|
|
||||||
<td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td>
|
|
||||||
<tr>
|
|
||||||
</tr>
|
|
||||||
</tr>
|
|
||||||
<td width="200">Zahlbar bis:</td>
|
|
||||||
<td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td>
|
|
||||||
</tr>
|
|
||||||
<td>Betrag/Total (Brutto):</td>
|
|
||||||
<td>[BETRAG][MSGBETRAG] [WAEHRUNG][MSGWAEHRUNG]</td>
|
|
||||||
<tr>
|
|
||||||
<td>Skonto in %:</td>
|
|
||||||
<td>[SKONTO][MSGSKONTO]</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Skonto bis:</td>
|
|
||||||
<td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Projekt:</td>
|
|
||||||
<td>[PROJEKT][MSGKOSTENSTELLE]</td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Kostenstelle:</td>
|
|
||||||
<td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Interne Bemerkung:</td>
|
|
||||||
<td colspan="4">[INTERNEBEMERKUNG]</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div style="float:left; width:60%">
|
|
||||||
<div style="background-color:white">
|
|
||||||
<h2 class="greyh2">Artikel</h2>
|
|
||||||
<div style="padding:10px">
|
|
||||||
[ARTIKEL]
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="background-color:white">
|
|
||||||
<h2 class="greyh2">Buchungen</h2>
|
|
||||||
<div style="padding:10px">
|
|
||||||
[ZAHLUNGEN]
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="background-color:white">
|
|
||||||
<h2 class="greyh2">Protokoll</h2>
|
|
||||||
<div style="padding:10px;">
|
|
||||||
[PROTOKOLL]
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
<div id="tabs">
|
|
||||||
<ul>
|
|
||||||
<li><a href="#tabs-1"></a></li>
|
|
||||||
</ul>
|
|
||||||
<!-- Example for multiple tabs
|
|
||||||
<ul hidden">
|
|
||||||
<li><a href="#tabs-1">First Tab</a></li>
|
|
||||||
<li><a href="#tabs-2">Second Tab</a></li>
|
|
||||||
</ul>
|
|
||||||
-->
|
|
||||||
<div id="tabs-1">
|
|
||||||
[MESSAGE]
|
|
||||||
<form action="" method="post">
|
|
||||||
[FORMHANDLEREVENT]
|
|
||||||
<div class="row">
|
|
||||||
<div class="row-height">
|
|
||||||
<div class="col-xs-12 col-md-12 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset>
|
|
||||||
<legend>{|Position bearbeiten|}</legend><i></i>
|
|
||||||
<table width="100%" border="0" class="mkTableFormular">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Menge|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="number" name="menge" id="menge" value="[MENGE]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Preis|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="number" name="preis" id="preis" step="0.00001" value="[PREIS]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Steuersatz %|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="number" name="steuersatz" id="steuersatz" value="[STEUERSATZ]" size="20" [SAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{|Sachkonto|}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="sachkonto" id="sachkonto" value="[SACHKONTO]" size="20" [SACHKONTOSAVEDISABLED]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<input type="submit" name="submit" value="Speichern" style="float:right"/>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
[POSITIONENMESSAGE]
|
|
||||||
<form method="post" action="#tabs-2">
|
|
||||||
<div class="row" [POSITIONHINZUFUEGENHIDDEN]>
|
|
||||||
<div class="row-height">
|
|
||||||
<div class="col-xs-14 col-md-12 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset>
|
|
||||||
<legend style="float:left">Artikel hinzufügen:</legend>
|
|
||||||
<div class="filter-box filter-usersave" style="float:right;">
|
|
||||||
<div class="filter-block filter-inline">
|
|
||||||
<div class="filter-title">{|Filter|}</div>
|
|
||||||
<ul class="filter-list">
|
|
||||||
<li class="filter-item">
|
|
||||||
<label for="passende" class="switch">
|
|
||||||
<input type="checkbox" id="passende">
|
|
||||||
<span class="slider round"></span>
|
|
||||||
</label>
|
|
||||||
<label for="passende">{|Nur passende (Bestellung/Rechnungsnummer)|}</label>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
[PAKETDISTRIBUTION]
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-14 col-md-2 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset>
|
|
||||||
<table width="100%" border="0" class="mkTableFormular">
|
|
||||||
<legend>{|Aktionen|}</legend>
|
|
||||||
<tr>
|
|
||||||
<td><input type="checkbox" id="auswahlallewareneingaenge" onchange="allewareneingaengeauswaehlen();" />{|alle markieren|}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><button [SAVEDISABLED] name="submit" value="positionen_hinzufuegen" class="ui-button-icon" style="width:100%;">Hinzufügen</button></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<form method="post" action="#tabs-2">
|
|
||||||
<div class="row">
|
|
||||||
<div class="row-height">
|
|
||||||
<div class="col-xs-14 col-md-12 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
[POSITIONEN]
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-14 col-md-2 col-md-height">
|
|
||||||
<div class="inside inside-full-height">
|
|
||||||
<fieldset>
|
|
||||||
<table width="100%" border="0" class="mkTableFormular">
|
|
||||||
<legend>{|Aktionen|}</legend>
|
|
||||||
<tr [SACHKONTOCHANGEHIDDEN]>
|
|
||||||
<td><input type="checkbox" id="auswahlalle" onchange="alleauswaehlen();" />{|alle markieren|}</td>
|
|
||||||
</tr>
|
|
||||||
<tr [POSITIONHINZUFUEGENHIDDEN]>
|
|
||||||
<td><button [SAVEDISABLED] name="submit" value="positionen_entfernen" class="ui-button-icon" style="width:100%;">Entfernen</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr [SACHKONTOCHANGEHIDDEN]>
|
|
||||||
<td><input type="text" name="positionen_sachkonto" id="positionen_sachkonto" value="" size="20"></td>
|
|
||||||
</tr>
|
|
||||||
<tr [SACHKONTOCHANGEHIDDEN]>
|
|
||||||
<td><button name="submit" value="positionen_kontorahmen_setzen" class="ui-button-icon" style="width:100%;">Sachkonto setzen</button></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<script>
|
|
||||||
function allewareneingaengeauswaehlen()
|
|
||||||
{
|
|
||||||
var wert = $('#auswahlallewareneingaenge').prop('checked');
|
|
||||||
$('#verbindlichkeit_positionen').find(':checkbox').prop('checked',wert);
|
|
||||||
}
|
|
||||||
function alleauswaehlen()
|
|
||||||
{
|
|
||||||
var wert = $('#auswahlalle').prop('checked');
|
|
||||||
$('#lieferantengutschrift_positionen').find(':checkbox').prop('checked',wert);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
<div class="col-xs-14 col-md-12 col-md-height">
|
<div class="col-xs-14 col-md-12 col-md-height">
|
||||||
<div class="inside inside-full-height">
|
<div class="inside inside-full-height">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{|DBXE Upgrade-System|}</legend>
|
<legend>{|OpenXE Upgrade-System|}</legend>
|
||||||
Das Upgrade funktioniert in 2 Schritten: Dateien aktualisieren, Datenbank auffrischen. Wenn das Upgrade lange läuft, kann der Fortschritt in einem neuen Fenster mit "Anzeige auffrischen" angezeigt werden.<br><br>
|
Das Upgrade funktioniert in 2 Schritten: Dateien aktualisieren, Datenbank auffrischen. Wenn das Upgrade lange läuft, kann der Fortschritt in einem neuen Fenster mit "Anzeige auffrischen" angezeigt werden.<br><br>
|
||||||
Falls nach einem Abbruch oder schwerwiegenden Fehler kein Upgrade möglich ist, im Hauptordner den Ordner ".git" löschen und das Upgrade in der Konsole erneut durchführen.
|
Falls nach einem Abbruch oder schwerwiegenden Fehler kein Upgrade möglich ist, im Hauptordner den Ordner ".git" löschen und das Upgrade in der Konsole erneut durchführen.
|
||||||
Dazu im Unterordner "upgrade" diesen Befehl starten: <pre>./upgrade.sh -do</pre>
|
Dazu im Unterordner "upgrade" diesen Befehl starten: <pre>./upgrade.sh -do</pre>
|
||||||
|
|
@ -37,7 +37,7 @@ Dazu im Unterordner "upgrade" diesen Befehl starten: <pre>./upgrade.sh -do</pre>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{|Aktuelle Version|}</legend>
|
<legend>{|Aktuelle Version|}</legend>
|
||||||
<table width="100%" border="0" class="mkTableFormular">
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
<b>DBXE [CURRENT]</b>
|
<b>OpenXE [CURRENT]</b>
|
||||||
</table>
|
</table>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -172,11 +172,6 @@
|
||||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschließen|}</button>
|
<button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschließen|}</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr [ABGESCHLOSSENHIDDEN]>
|
|
||||||
<td>
|
|
||||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="oeffnen" form="oeffnen">{|Öffnen|}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -223,9 +218,6 @@
|
||||||
</div> [AFTERTAB2]
|
</div> [AFTERTAB2]
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<form action="index.php?module=wareneingang&action=oeffnen" id="oeffnen" method="POST">
|
|
||||||
<input name="id" value="[ID]" hidden></input>
|
|
||||||
</form>
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#tabs").tabs("option", "active", [TABINDEX]);
|
$("#tabs").tabs("option", "active", [TABINDEX]);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2024 DBXE project
|
* Copyright (c) 2022 OpenXE project
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use Xentral\Components\Database\Exception\QueryFailureException;
|
use Xentral\Components\Database\Exception\QueryFailureException;
|
||||||
|
|
@ -161,7 +161,10 @@ $width = array('10%'); // Fill out manually later
|
||||||
|
|
||||||
if (!empty($result)) {
|
if (!empty($result)) {
|
||||||
$emailbackup = $result[0];
|
$emailbackup = $result[0];
|
||||||
}
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($emailbackup as $key => $value) {
|
foreach ($emailbackup as $key => $value) {
|
||||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||||
}
|
}
|
||||||
|
|
@ -293,10 +296,10 @@ $width = array('10%'); // Fill out manually later
|
||||||
$this->app->erp->MailSend(
|
$this->app->erp->MailSend(
|
||||||
$result[0]['email'],
|
$result[0]['email'],
|
||||||
$result[0]['angezeigtername'],
|
$result[0]['angezeigtername'],
|
||||||
array($result[0]['email']),
|
$result[0]['email'],
|
||||||
array($result[0]['angezeigtername']),
|
$result[0]['angezeigtername'],
|
||||||
'DBXE ERP: Testmail',
|
'OpenXE ERP: Testmail',
|
||||||
'Dies ist eine Testmail für Account "'.$result[0]['email'].'".',
|
utf8_encode('Dies ist eine Testmail für Account "'.$result[0]['email'].'".'),
|
||||||
'',0,false,'','',
|
'',0,false,'','',
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,6 @@ class Exportbuchhaltung
|
||||||
$rgchecked = $this->app->Secure->GetPOST("rechnung");
|
$rgchecked = $this->app->Secure->GetPOST("rechnung");
|
||||||
$gschecked = $this->app->Secure->GetPOST("gutschrift");
|
$gschecked = $this->app->Secure->GetPOST("gutschrift");
|
||||||
$vbchecked = $this->app->Secure->GetPOST("verbindlichkeit");
|
$vbchecked = $this->app->Secure->GetPOST("verbindlichkeit");
|
||||||
$lgchecked = $this->app->Secure->GetPOST("lieferantengutschrift");
|
|
||||||
$diffignore = $this->app->Secure->GetPOST("diffignore");
|
$diffignore = $this->app->Secure->GetPOST("diffignore");
|
||||||
$sachkonto = $this->app->Secure->GetPOST('sachkonto');
|
$sachkonto = $this->app->Secure->GetPOST('sachkonto');
|
||||||
|
|
||||||
|
|
@ -98,7 +97,6 @@ class Exportbuchhaltung
|
||||||
$rgchecked = true;
|
$rgchecked = true;
|
||||||
$gschecked = true;
|
$gschecked = true;
|
||||||
$vbchecked = true;
|
$vbchecked = true;
|
||||||
$lgchecked = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$missing_obligatory = array();
|
$missing_obligatory = array();
|
||||||
|
|
@ -136,8 +134,7 @@ class Exportbuchhaltung
|
||||||
if (
|
if (
|
||||||
!$rgchecked &&
|
!$rgchecked &&
|
||||||
!$gschecked &&
|
!$gschecked &&
|
||||||
!$vbchecked &&
|
!$vbchecked
|
||||||
!$lgchecked
|
|
||||||
) {
|
) {
|
||||||
$msg = "<div class=error>Bitte mindestens eine Belegart auswählen.</div>";
|
$msg = "<div class=error>Bitte mindestens eine Belegart auswählen.</div>";
|
||||||
$dataok = false;
|
$dataok = false;
|
||||||
|
|
@ -162,7 +159,7 @@ class Exportbuchhaltung
|
||||||
if ($dataok) {
|
if ($dataok) {
|
||||||
$filename = "EXTF_".date('Ymd') . "_Buchungsstapel_DATEV_export.csv";
|
$filename = "EXTF_".date('Ymd') . "_Buchungsstapel_DATEV_export.csv";
|
||||||
try {
|
try {
|
||||||
$csv = $this->DATEV_Buchuchungsstapel($rgchecked, $gschecked, $vbchecked, $lgchecked, $buchhaltung_berater, $buchhaltung_mandant, $buchhaltung_wj_beginn, $buchhaltung_sachkontenlaenge, $von, $bis, $projekt, $filename, $diffignore, $sachkonto_kennung);
|
$csv = $this->DATEV_Buchuchungsstapel($rgchecked, $gschecked, $vbchecked, $buchhaltung_berater, $buchhaltung_mandant, $buchhaltung_wj_beginn, $buchhaltung_sachkontenlaenge, $von, $bis, $projekt, $filename, $diffignore, $sachkonto_kennung);
|
||||||
header("Content-Disposition: attachment; filename=" . $filename);
|
header("Content-Disposition: attachment; filename=" . $filename);
|
||||||
header("Pragma: no-cache");
|
header("Pragma: no-cache");
|
||||||
header("Expires: 0");
|
header("Expires: 0");
|
||||||
|
|
@ -201,7 +198,6 @@ class Exportbuchhaltung
|
||||||
$this->app->Tpl->SET('RGCHECKED',$rgchecked?'checked':'');
|
$this->app->Tpl->SET('RGCHECKED',$rgchecked?'checked':'');
|
||||||
$this->app->Tpl->SET('GSCHECKED',$gschecked?'checked':'');
|
$this->app->Tpl->SET('GSCHECKED',$gschecked?'checked':'');
|
||||||
$this->app->Tpl->SET('VBCHECKED',$vbchecked?'checked':'');
|
$this->app->Tpl->SET('VBCHECKED',$vbchecked?'checked':'');
|
||||||
$this->app->Tpl->SET('LGCHECKED',$lgchecked?'checked':'');
|
|
||||||
$this->app->Tpl->SET('DIFFIGNORE',$diffignore?'checked':'');
|
$this->app->Tpl->SET('DIFFIGNORE',$diffignore?'checked':'');
|
||||||
|
|
||||||
$this->app->Tpl->SET('VON', $von_form);
|
$this->app->Tpl->SET('VON', $von_form);
|
||||||
|
|
@ -216,7 +212,7 @@ class Exportbuchhaltung
|
||||||
* Create DATEV Buchhungsstapel
|
* Create DATEV Buchhungsstapel
|
||||||
* @throws ConsistencyException with string (list of items) if consistency check fails and no sachkonto for differences is given
|
* @throws ConsistencyException with string (list of items) if consistency check fails and no sachkonto for differences is given
|
||||||
*/
|
*/
|
||||||
function DATEV_Buchuchungsstapel(bool $rechnung, bool $gutschrift, bool $verbindlichkeit, bool $lieferantengutschrift, string $berater, string $mandant, datetime $wj_beginn, int $sachkontenlaenge, datetime $von, datetime $bis, int $projekt = 0, string $filename = 'EXTF_Buchungsstapel_DATEV_export.csv', $diffignore = false, $sachkonto_differences) : string {
|
function DATEV_Buchuchungsstapel(bool $rechnung, bool $gutschrift, bool $verbindlichkeit, string $berater, string $mandant, datetime $wj_beginn, int $sachkontenlaenge, datetime $von, datetime $bis, int $projekt = 0, string $filename = 'EXTF_Buchungsstapel_DATEV_export.csv', $diffignore = false, $sachkonto_differences) : string {
|
||||||
|
|
||||||
$datev_header_definition = array (
|
$datev_header_definition = array (
|
||||||
'1' => 'Kennzeichen',
|
'1' => 'Kennzeichen',
|
||||||
|
|
@ -457,6 +453,7 @@ class Exportbuchhaltung
|
||||||
'field_kundennummer' => 'b.kundennummer',
|
'field_kundennummer' => 'b.kundennummer',
|
||||||
'field_betrag_gesamt' => 'b.soll',
|
'field_betrag_gesamt' => 'b.soll',
|
||||||
'field_betrag' => 'p.umsatz_brutto_gesamt',
|
'field_betrag' => 'p.umsatz_brutto_gesamt',
|
||||||
|
'field_gegenkonto' => '\'\'',
|
||||||
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\',\'storniert\')',
|
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\',\'storniert\')',
|
||||||
'Buchungstyp' => 'SR',
|
'Buchungstyp' => 'SR',
|
||||||
'do' => $rechnung
|
'do' => $rechnung
|
||||||
|
|
@ -475,13 +472,14 @@ class Exportbuchhaltung
|
||||||
'field_kundennummer' => 'b.kundennummer',
|
'field_kundennummer' => 'b.kundennummer',
|
||||||
'field_betrag_gesamt' => 'b.soll',
|
'field_betrag_gesamt' => 'b.soll',
|
||||||
'field_betrag' => 'p.umsatz_brutto_gesamt',
|
'field_betrag' => 'p.umsatz_brutto_gesamt',
|
||||||
|
'field_gegenkonto' => '\'\'',
|
||||||
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\')',
|
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\')',
|
||||||
'Buchungstyp' => '',
|
'Buchungstyp' => '',
|
||||||
'do' => $gutschrift
|
'do' => $gutschrift
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'typ' => 'verbindlichkeit',
|
'typ' => 'verbindlichkeit',
|
||||||
'subtable' => 'verbindlichkeit_position',
|
'subtable' => 'verbindlichkeit_kontierung',
|
||||||
'kennzeichen' => 'H',
|
'kennzeichen' => 'H',
|
||||||
'kennzeichen_negativ' => 'S',
|
'kennzeichen_negativ' => 'S',
|
||||||
'field_belegnr' => 'b.rechnung',
|
'field_belegnr' => 'b.rechnung',
|
||||||
|
|
@ -492,30 +490,11 @@ class Exportbuchhaltung
|
||||||
'field_kontonummer' => 'a.lieferantennummer_buchhaltung',
|
'field_kontonummer' => 'a.lieferantennummer_buchhaltung',
|
||||||
'field_kundennummer' => 'a.lieferantennummer',
|
'field_kundennummer' => 'a.lieferantennummer',
|
||||||
'field_betrag_gesamt' => 'b.betrag',
|
'field_betrag_gesamt' => 'b.betrag',
|
||||||
'field_betrag' => 'p.preis*p.menge*((100+p.steuersatz)/100)',
|
'field_betrag' => 'p.betrag',
|
||||||
'field_gegenkonto' => '(SELECT sachkonto FROM kontorahmen k WHERE k.id = p.kontorahmen)',
|
'field_gegenkonto' => 'gegenkonto',
|
||||||
'condition_where' => ' AND b.status IN (\'freigegeben\')',
|
'condition_where' => '',
|
||||||
'Buchungstyp' => '',
|
'Buchungstyp' => '',
|
||||||
'do' => $verbindlichkeit
|
'do' => $verbindlichkeit
|
||||||
),
|
|
||||||
array(
|
|
||||||
'typ' => 'lieferantengutschrift',
|
|
||||||
'subtable' => 'lieferantengutschrift_position',
|
|
||||||
'kennzeichen' => 'S',
|
|
||||||
'kennzeichen_negativ' => 'H',
|
|
||||||
'field_belegnr' => 'b.rechnung',
|
|
||||||
'field_name' => 'a.name',
|
|
||||||
'field_date' => 'rechnungsdatum',
|
|
||||||
'field_auftrag' => '\'\'',
|
|
||||||
'field_zahlweise' => '\'\'',
|
|
||||||
'field_kontonummer' => 'a.lieferantennummer_buchhaltung',
|
|
||||||
'field_kundennummer' => 'a.lieferantennummer',
|
|
||||||
'field_betrag_gesamt' => 'b.betrag',
|
|
||||||
'field_betrag' => 'p.preis*p.menge*((100+p.steuersatz)/100)',
|
|
||||||
'field_gegenkonto' => '(SELECT sachkonto FROM kontorahmen k WHERE k.id = p.kontorahmen)',
|
|
||||||
'condition_where' => ' AND b.status IN (\'freigegeben\')',
|
|
||||||
'Buchungstyp' => '',
|
|
||||||
'do' => $lieferantengutschrift
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -524,30 +503,21 @@ class Exportbuchhaltung
|
||||||
if (!$typ['do']) {
|
if (!$typ['do']) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!empty($typ['field_gegenkonto'])) {
|
|
||||||
$sql_gegenkonto = $typ['field_gegenkonto'];
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
$sql_gegenkonto = "NULL";
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql = "SELECT
|
$sql = "SELECT
|
||||||
".$typ['typ']." id,
|
|
||||||
".$typ['field_belegnr']." as belegnr,
|
".$typ['field_belegnr']." as belegnr,
|
||||||
".$typ['field_auftrag']." as auftrag,
|
".$typ['field_auftrag']." as auftrag,
|
||||||
".$typ['field_zahlweise']." as zahlweise,
|
".$typ['field_zahlweise']." as zahlweise,
|
||||||
if(".$typ['field_kontonummer']." <> '',".$typ['field_kontonummer'].",".$typ['field_kundennummer'].") as kundennummer,
|
if(".$typ['field_kontonummer']." <> '',".$typ['field_kontonummer'].",".$typ['field_kundennummer'].") as kundennummer,
|
||||||
".$typ['field_name']." as name,
|
".$typ['field_name']." as name,
|
||||||
a.ustid,
|
b.ustid,
|
||||||
b.".$typ['field_date']." as datum,
|
b.".$typ['field_date']." as datum,
|
||||||
p.id as pos_id,
|
p.id as pos_id,
|
||||||
".$typ['field_betrag_gesamt']." as betrag_gesamt,
|
".$typ['field_betrag_gesamt']." as betrag_gesamt,
|
||||||
b.waehrung,
|
b.waehrung,
|
||||||
ROUND(".$typ['field_betrag'].",2) as betrag,
|
ROUND(".$typ['field_betrag'].",2) as betrag,
|
||||||
".$sql_gegenkonto." as gegenkonto,
|
".$typ['field_gegenkonto']." as gegenkonto,
|
||||||
b.waehrung as pos_waehrung
|
p.waehrung as pos_waehrung
|
||||||
FROM
|
FROM
|
||||||
".$typ['typ']." b
|
".$typ['typ']." b
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
|
|
@ -565,7 +535,6 @@ class Exportbuchhaltung
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
|
||||||
belegnr,
|
belegnr,
|
||||||
datum,
|
datum,
|
||||||
betrag_gesamt,
|
betrag_gesamt,
|
||||||
|
|
@ -577,10 +546,10 @@ class Exportbuchhaltung
|
||||||
FROM
|
FROM
|
||||||
(".$sql.") posten
|
(".$sql.") posten
|
||||||
GROUP BY
|
GROUP BY
|
||||||
id
|
belegnr
|
||||||
) summen
|
) summen
|
||||||
WHERE betrag_gesamt <> betrag_summe OR betrag_summe IS NULL";
|
WHERE betrag_gesamt <> betrag_summe OR betrag_summe IS NULL";
|
||||||
|
|
||||||
$result = $this->app->DB->SelectArr($sql_check);
|
$result = $this->app->DB->SelectArr($sql_check);
|
||||||
if (!empty($result)) {
|
if (!empty($result)) {
|
||||||
|
|
||||||
|
|
@ -621,7 +590,7 @@ class Exportbuchhaltung
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // diffignore
|
} // diffignore
|
||||||
|
|
||||||
// Query position data
|
// Query position data
|
||||||
$arr = $this->app->DB->Query($sql);
|
$arr = $this->app->DB->Query($sql);
|
||||||
while ($row = $this->app->DB->Fetch_Assoc($arr)) {
|
while ($row = $this->app->DB->Fetch_Assoc($arr)) {
|
||||||
|
|
@ -650,7 +619,7 @@ class Exportbuchhaltung
|
||||||
$data['Belegfeld 1'] = mb_strimwidth($row['belegnr'],0,12);
|
$data['Belegfeld 1'] = mb_strimwidth($row['belegnr'],0,12);
|
||||||
$data['Konto'] = $row['kundennummer']; // obligatory
|
$data['Konto'] = $row['kundennummer']; // obligatory
|
||||||
|
|
||||||
if (!empty($typ['field_gegenkonto'])) {
|
if ($typ['field_gegenkonto'] == 'gegenkonto') {
|
||||||
$data['Gegenkonto (ohne BU-Schlüssel)'] = $row['gegenkonto']; // obligatory
|
$data['Gegenkonto (ohne BU-Schlüssel)'] = $row['gegenkonto']; // obligatory
|
||||||
} else {
|
} else {
|
||||||
$data['Gegenkonto (ohne BU-Schlüssel)'] = $erloes; // obligatory
|
$data['Gegenkonto (ohne BU-Schlüssel)'] = $erloes; // obligatory
|
||||||
|
|
|
||||||
|
|
@ -446,7 +446,6 @@ class Firmendaten {
|
||||||
'artikelnummer',
|
'artikelnummer',
|
||||||
'preisanfrage',
|
'preisanfrage',
|
||||||
'verbindlichkeit',
|
'verbindlichkeit',
|
||||||
'lieferantengutschrift',
|
|
||||||
'receiptdocument',
|
'receiptdocument',
|
||||||
];
|
];
|
||||||
if(in_array($cmd, $allowedNumbers)) {
|
if(in_array($cmd, $allowedNumbers)) {
|
||||||
|
|
@ -1704,7 +1703,6 @@ class Firmendaten {
|
||||||
$this->app->Tpl->Set('NEXT_ANFRAGE' , $data[0]['next_anfrage']);
|
$this->app->Tpl->Set('NEXT_ANFRAGE' , $data[0]['next_anfrage']);
|
||||||
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , $data[0]['next_preisanfrage']);
|
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , $data[0]['next_preisanfrage']);
|
||||||
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', $data[0]['next_verbindlichkeit']);
|
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', $data[0]['next_verbindlichkeit']);
|
||||||
$this->app->Tpl->Set('NEXT_LIEFERANTENGUTSCHRIFT', $data[0]['next_lieferantengutschrift']);
|
|
||||||
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', $data[0]['next_receiptdocument']);
|
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', $data[0]['next_receiptdocument']);
|
||||||
|
|
||||||
//Briefpapier Hintergrund
|
//Briefpapier Hintergrund
|
||||||
|
|
@ -2062,7 +2060,6 @@ class Firmendaten {
|
||||||
$this->app->Tpl->Set('NEXT_ANFRAGE' , ($data['next_anfrage']));
|
$this->app->Tpl->Set('NEXT_ANFRAGE' , ($data['next_anfrage']));
|
||||||
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , ($data['next_preisanfrage']));
|
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , ($data['next_preisanfrage']));
|
||||||
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', ($data['next_verbindlichkeit']));
|
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', ($data['next_verbindlichkeit']));
|
||||||
$this->app->Tpl->Set('NEXT_LIEFERANTENGUTSCHRIFT', ($data['next_lieferantengutschrift']));
|
|
||||||
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', ($data['next_receiptdocument']));
|
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', ($data['next_receiptdocument']));
|
||||||
|
|
||||||
//Briefpapier Hintergrund
|
//Briefpapier Hintergrund
|
||||||
|
|
@ -2286,7 +2283,6 @@ class Firmendaten {
|
||||||
$data['next_anfrage'] = ($this->app->Secure->POST["next_anfrage"]);
|
$data['next_anfrage'] = ($this->app->Secure->POST["next_anfrage"]);
|
||||||
$data['next_preisanfrage'] = ($this->app->Secure->POST["next_preisanfrage"]);
|
$data['next_preisanfrage'] = ($this->app->Secure->POST["next_preisanfrage"]);
|
||||||
$data['next_verbindlichkeit'] = ($this->app->Secure->POST["next_verbindlichkeit"]);
|
$data['next_verbindlichkeit'] = ($this->app->Secure->POST["next_verbindlichkeit"]);
|
||||||
$data['next_lieferantengutschrift'] = ($this->app->Secure->POST["next_lieferantengutschrift"]);
|
|
||||||
$data['produktionsverhalten'] = $this->app->Secure->POST["produktionsverhalten"];
|
$data['produktionsverhalten'] = $this->app->Secure->POST["produktionsverhalten"];
|
||||||
|
|
||||||
$data['sprachebevorzugen'] = ($this->app->Secure->POST["sprachebevorzugen"]);
|
$data['sprachebevorzugen'] = ($this->app->Secure->POST["sprachebevorzugen"]);
|
||||||
|
|
|
||||||
|
|
@ -716,7 +716,7 @@ class Ticket {
|
||||||
|
|
||||||
$ticket_from_db = $this->app->DB->SelectArr($sql)[0];
|
$ticket_from_db = $this->app->DB->SelectArr($sql)[0];
|
||||||
|
|
||||||
$ticket_from_db['betreff'] = strip_tags($ticket_from_db['betreff']);
|
$ticket_from_db['betreff'] = htmlentities(strip_tags($ticket_from_db['betreff'])); //+ #20230916 XSS
|
||||||
|
|
||||||
foreach ($ticket_from_db as $key => $value) {
|
foreach ($ticket_from_db as $key => $value) {
|
||||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ class upgrade {
|
||||||
public function Install() {
|
public function Install() {
|
||||||
/* Fill out manually later */
|
/* Fill out manually later */
|
||||||
}
|
}
|
||||||
|
|
||||||
function upgrade_overview() {
|
function upgrade_overview() {
|
||||||
|
|
||||||
$submit = $this->app->Secure->GetPOST('submit');
|
$submit = $this->app->Secure->GetPOST('submit');
|
||||||
|
|
|
||||||
|
|
@ -244,16 +244,16 @@ class Verbindlichkeit {
|
||||||
'<input type="number" name="werte[]" value="',
|
'<input type="number" name="werte[]" value="',
|
||||||
['sql' => $offen_menge],
|
['sql' => $offen_menge],
|
||||||
'" min="0"',
|
'" min="0"',
|
||||||
' max="',
|
'" max="',
|
||||||
['sql' => $offen_menge],
|
['sql' => $offen_menge],
|
||||||
'"/>'
|
'"/>'
|
||||||
);
|
);
|
||||||
|
|
||||||
$preise = array (
|
$preise = array (
|
||||||
'<input type="number" name="preise[]" step="0.00001" value="',
|
'<input type="number" name="preise[]" step="0.00001" value="',
|
||||||
['sql' => "TRIM(COALESCE(bp.preis,0))+0"],
|
['sql' => $this->app->erp->FormatMenge("COALESCE(bp.preis,0)",5)],
|
||||||
'" min="0"',
|
'" min="0"',
|
||||||
'/>'
|
'"/>'
|
||||||
);
|
);
|
||||||
|
|
||||||
$artikellink = array (
|
$artikellink = array (
|
||||||
|
|
|
||||||
|
|
@ -1474,7 +1474,6 @@ class Wareneingang {
|
||||||
$this->app->ActionHandler("settings", "WareneingangSettings");
|
$this->app->ActionHandler("settings", "WareneingangSettings");
|
||||||
|
|
||||||
$this->app->ActionHandler("deletepos", "WareneingangPositionLoeschen");
|
$this->app->ActionHandler("deletepos", "WareneingangPositionLoeschen");
|
||||||
$this->app->ActionHandler("oeffnen", "WareneingangOeffnen");
|
|
||||||
|
|
||||||
$this->app->DefaultActionHandler("list");
|
$this->app->DefaultActionHandler("list");
|
||||||
$this->app->erp->Headlines('Wareneingang');
|
$this->app->erp->Headlines('Wareneingang');
|
||||||
|
|
@ -1599,15 +1598,6 @@ class Wareneingang {
|
||||||
$this->app->Location->execute('Location: index.php?module=wareneingang&action=distribution');
|
$this->app->Location->execute('Location: index.php?module=wareneingang&action=distribution');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function WareneingangOeffnen() {
|
|
||||||
$id = $this->app->Secure->GetPOST('id');
|
|
||||||
|
|
||||||
if ($id > 0 && is_numeric($id)) {
|
|
||||||
$this->app->DB->Delete("UPDATE paketannahme set status = 'angelegt' WHERE id='$id' LIMIT 1");
|
|
||||||
}
|
|
||||||
$this->app->Location->execute('Location: index.php?module=wareneingang&action=distriinhalt&id='.$id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function WareneingangMenu() {
|
public function WareneingangMenu() {
|
||||||
$action = $this->app->Secure->GetGET('action');
|
$action = $this->app->Secure->GetGET('action');
|
||||||
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Wareneingang');
|
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Wareneingang');
|
||||||
|
|
|
||||||
|
|
@ -1,448 +1,448 @@
|
||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
|
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
|
||||||
ini_set('display_errors', 1);
|
ini_set('display_errors', 1);
|
||||||
$config_file = 'setup.conf.php';
|
$config_file = 'setup.conf.php';
|
||||||
$output_folder = '../../conf/';
|
$output_folder = '../../conf/';
|
||||||
|
|
||||||
if(!is_file($config_file) ) { echo 'Config-File is missing'; return; }
|
if(!is_file($config_file) ) { echo 'Config-File is missing'; return; }
|
||||||
include_once($config_file);
|
include_once($config_file);
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
$max_steps = count(array_filter($setup))+1;
|
$max_steps = count(array_filter($setup))+1;
|
||||||
|
|
||||||
$step = (($_GET['step']!='') ? $_GET['step'] : 1);
|
$step = (($_GET['step']!='') ? $_GET['step'] : 1);
|
||||||
$submit = $_POST['_SUBMIT'];
|
$submit = $_POST['_SUBMIT'];
|
||||||
|
|
||||||
|
|
||||||
$isSecure = false;
|
$isSecure = false;
|
||||||
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
|
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
|
||||||
$isSecure = true;
|
$isSecure = true;
|
||||||
}
|
}
|
||||||
elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
|
elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
|
||||||
$isSecure = true;
|
$isSecure = true;
|
||||||
}
|
}
|
||||||
$REQUEST_PROTOCOL = $isSecure ? 'https' : 'http';
|
$REQUEST_PROTOCOL = $isSecure ? 'https' : 'http';
|
||||||
|
|
||||||
//$weburl = $REQUEST_PROTOCOL."://".$_SERVER['SERVER_ADDR'].":".$_SERVER['SERVER_PORT'].str_replace('setup/setup.php?step=5','',$_SERVER['REQUEST_URI'])."index.php?module=welcome&action=cronjob";
|
//$weburl = $REQUEST_PROTOCOL."://".$_SERVER['SERVER_ADDR'].":".$_SERVER['SERVER_PORT'].str_replace('setup/setup.php?step=5','',$_SERVER['REQUEST_URI'])."index.php?module=welcome&action=cronjob";
|
||||||
//$weburllink = $REQUEST_PROTOCOL."://".$_SERVER['SERVER_ADDR'].":".$_SERVER['SERVER_PORT'].str_replace('setup/setup.php?step=5','',$_SERVER['REQUEST_URI']);
|
//$weburllink = $REQUEST_PROTOCOL."://".$_SERVER['SERVER_ADDR'].":".$_SERVER['SERVER_PORT'].str_replace('setup/setup.php?step=5','',$_SERVER['REQUEST_URI']);
|
||||||
|
|
||||||
if($_SERVER['SCRIPT_URI'] != '')
|
if($_SERVER['SCRIPT_URI'] != '')
|
||||||
{
|
{
|
||||||
$weburl = str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$_SERVER['SCRIPT_URI'])."index.php?module=welcome&action=cronjob";
|
$weburl = str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$_SERVER['SCRIPT_URI'])."index.php?module=welcome&action=cronjob";
|
||||||
// $weburllink = str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$_SERVER['SCRIPT_URI']);
|
// $weburllink = str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$_SERVER['SCRIPT_URI']);
|
||||||
}elseif($_SERVER['REQUEST_URI'] != '' && $_SERVER['SERVER_ADDR']!='' && $_SERVER['SERVER_ADDR']!='::1' && strpos($_SERVER['SERVER_SOFTWARE'],"nginx")===false)
|
}elseif($_SERVER['REQUEST_URI'] != '' && $_SERVER['SERVER_ADDR']!='' && $_SERVER['SERVER_ADDR']!='::1' && strpos($_SERVER['SERVER_SOFTWARE'],"nginx")===false)
|
||||||
{
|
{
|
||||||
$weburl = (isset($_SERVER['SERVER_ADDR']) && $_SERVER['SERVER_ADDR']?$REQUEST_PROTOCOL."://".$_SERVER['SERVER_ADDR'].(isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443?':'.$_SERVER['SERVER_PORT']:''):'').str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$_SERVER['REQUEST_URI'])."index.php?module=welcome&action=cronjob";
|
$weburl = (isset($_SERVER['SERVER_ADDR']) && $_SERVER['SERVER_ADDR']?$REQUEST_PROTOCOL."://".$_SERVER['SERVER_ADDR'].(isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443?':'.$_SERVER['SERVER_PORT']:''):'').str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$_SERVER['REQUEST_URI'])."index.php?module=welcome&action=cronjob";
|
||||||
// $weburllink = (isset($_SERVER['SERVER_ADDR']) && $_SERVER['SERVER_ADDR']?$REQUEST_PROTOCOL."://".$_SERVER['SERVER_ADDR'].(isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443?':'.$_SERVER['SERVER_PORT']:''):'').str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$_SERVER['REQUEST_URI']);
|
// $weburllink = (isset($_SERVER['SERVER_ADDR']) && $_SERVER['SERVER_ADDR']?$REQUEST_PROTOCOL."://".$_SERVER['SERVER_ADDR'].(isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443?':'.$_SERVER['SERVER_PORT']:''):'').str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$_SERVER['REQUEST_URI']);
|
||||||
} elseif($_SERVER['SERVER_NAME']!="") //MAMP auf macos
|
} elseif($_SERVER['SERVER_NAME']!="") //MAMP auf macos
|
||||||
{
|
{
|
||||||
$weburl = str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$REQUEST_PROTOCOL."://".$_SERVER['SERVER_NAME'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUESR_URI'].$_SERVER['SCRIPT_NAME'])."index.php?module=welcome&action=cronjob";
|
$weburl = str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$REQUEST_PROTOCOL."://".$_SERVER['SERVER_NAME'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUESR_URI'].$_SERVER['SCRIPT_NAME'])."index.php?module=welcome&action=cronjob";
|
||||||
// $weburllink = str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$REQUEST_PROTOCOL."://".$_SERVER['SERVER_NAME'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUESR_URI'].$_SERVER['SCRIPT_NAME']);
|
// $weburllink = str_replace(array('setup/setup.php?step=5','setup/setup.php'),array('',''),$REQUEST_PROTOCOL."://".$_SERVER['SERVER_NAME'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUESR_URI'].$_SERVER['SCRIPT_NAME']);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$weburl = '../index.php?module=welcome&action=cronjob';
|
$weburl = '../index.php?module=welcome&action=cronjob';
|
||||||
$weburllink = '../';
|
$weburllink = '../';
|
||||||
}
|
}
|
||||||
|
|
||||||
$weburllink = '../';
|
$weburllink = '../';
|
||||||
|
|
||||||
if($step>=$max_steps){
|
if($step>=$max_steps){
|
||||||
//GenerateConfigFiles($output_folder);
|
//GenerateConfigFiles($output_folder);
|
||||||
//if($config['postinstall']) PostInstall();
|
//if($config['postinstall']) PostInstall();
|
||||||
$webserverUser = DetermineWebserverUser();
|
$webserverUser = DetermineWebserverUser();
|
||||||
$phpBinary = DeterminePhpBinary();
|
$phpBinary = DeterminePhpBinary();
|
||||||
$baseDir = DetermineInstallationDir();
|
$baseDir = DetermineInstallationDir();
|
||||||
$cronjobStarterPath = $baseDir . '/cronjobs/starter2.php';
|
$cronjobStarterPath = $baseDir . '/cronjobs/starter2.php';
|
||||||
$cronjobLine = htmlspecialchars(sprintf('* * * * * %s %s > /dev/null 2>&1', $phpBinary, $cronjobStarterPath));
|
$cronjobLine = htmlspecialchars(sprintf('* * * * * %s %s > /dev/null 2>&1', $phpBinary, $cronjobStarterPath));
|
||||||
|
|
||||||
$page = HtmlTemplate(
|
$page = HtmlTemplate(
|
||||||
"<h2>Setup erfolgreich beendet!</h2>
|
"<h2>Setup erfolgreich beendet!</h2>
|
||||||
<p>Um den Prozessstarter nutzen zu können: Tragen Sie folgendes Script in ihrer crontab ein:</p>
|
<p>Um den Prozessstarter nutzen zu können: Tragen Sie folgendes Script in ihrer crontab ein:</p>
|
||||||
<pre style=\"font-size:9pt\">php {$cronjobStarterPath}</pre>
|
<pre style=\"font-size:9pt\">php {$cronjobStarterPath}</pre>
|
||||||
<p>Am besten eignet sich ein Interval von einer Minute. Wichtig ist dass der Cronjob unter dem Benutzer des Webservers läuft.</p>
|
<p>Am besten eignet sich ein Interval von einer Minute. Wichtig ist dass der Cronjob unter dem Benutzer des Webservers läuft.</p>
|
||||||
<br>
|
<br>
|
||||||
<div id=\"crontab\">
|
<div id=\"crontab\">
|
||||||
<h3>Anleitung – Crontab einrichten</h3>
|
<h3>Anleitung – Crontab einrichten</h3>
|
||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
<p>Nachfolgendes Kommando ausführen:</p>
|
<p>Nachfolgendes Kommando ausführen:</p>
|
||||||
<pre class=\"console\">sudo crontab -u {$webserverUser} -e</pre>
|
<pre class=\"console\">sudo crontab -u {$webserverUser} -e</pre>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p>Anschließend öffnet sich ein Editor. Dort folgende Zeile einfügen und die Datei speichern:</p>
|
<p>Anschließend öffnet sich ein Editor. Dort folgende Zeile einfügen und die Datei speichern:</p>
|
||||||
<pre class=\"console\">{$cronjobLine}</pre>
|
<pre class=\"console\">{$cronjobLine}</pre>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p>Nach dem Verlassen des Editors sollte diese Ausgabe als Bestätigung erscheinen:</p>
|
<p>Nach dem Verlassen des Editors sollte diese Ausgabe als Bestätigung erscheinen:</p>
|
||||||
<pre class=\"console\">crontab: installing new crontab</pre>
|
<pre class=\"console\">crontab: installing new crontab</pre>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
<br><br>
|
<br><br>
|
||||||
<center>
|
<center>
|
||||||
<a href=\"$weburllink\">Anmelden mit Benutzer: <i>admin</i> und Passwort: <i>admin</i></a>
|
<a href=\"$weburllink\">Anmelden mit Benutzer: <i>admin</i> und Passwort: <i>admin</i></a>
|
||||||
<br><br>
|
<br><br>
|
||||||
Bitte nach der Installation das <a href=\"".$weburllink."index.php?module=upgrade\" target=\"_blank\">Datenbank-Upgrade</a> durchführen.</a>
|
Bitte nach der Installation das <a href=\"".$weburllink."index.php?module=upgrade\" target=\"_blank\">Datenbank-Upgrade</a> durchführen.</a>
|
||||||
</center>
|
</center>
|
||||||
");
|
");
|
||||||
}else{
|
}else{
|
||||||
$ok = true;
|
$ok = true;
|
||||||
if($step == 1)
|
if($step == 1)
|
||||||
{
|
{
|
||||||
$setup[$step]['description'] = stepMessage($step);
|
$setup[$step]['description'] = stepMessage($step);
|
||||||
$ok = stepFehler($step);
|
$ok = stepFehler($step);
|
||||||
}else $ok = stepFehler($step);
|
}else $ok = stepFehler($step);
|
||||||
$page = GenerateHtml($step, $setup);
|
$page = GenerateHtml($step, $setup);
|
||||||
if($ok){$page = str_replace('[BUTTON]', (($step<=$max_steps)?"<input type=\"submit\" name=\"_SUBMIT\" value=\"Weiter\" class=\"btn\">":""), $page);}else{$page = str_replace('[BUTTON]','',$page);}
|
if($ok){$page = str_replace('[BUTTON]', (($step<=$max_steps)?"<input type=\"submit\" name=\"_SUBMIT\" value=\"Weiter\" class=\"btn\">":""), $page);}else{$page = str_replace('[BUTTON]','',$page);}
|
||||||
}
|
}
|
||||||
if($submit!='') {
|
if($submit!='') {
|
||||||
$configfile = $_POST['_CONFIGFILE'];
|
$configfile = $_POST['_CONFIGFILE'];
|
||||||
$action = $_POST['_ACTION'];
|
$action = $_POST['_ACTION'];
|
||||||
unset($_POST['_CONFIGFILE']);
|
unset($_POST['_CONFIGFILE']);
|
||||||
unset($_POST['_ACTION']);
|
unset($_POST['_ACTION']);
|
||||||
unset($_POST['_SUBMIT']);
|
unset($_POST['_SUBMIT']);
|
||||||
|
|
||||||
$error = ((function_exists($action ?? '')) ? $action() : '');
|
$error = ((function_exists($action ?? '')) ? $action() : '');
|
||||||
if($configfile=='') $error .= "<br>'configfile' for this step is missing";
|
if($configfile=='') $error .= "<br>'configfile' for this step is missing";
|
||||||
|
|
||||||
if($error=='') {
|
if($error=='') {
|
||||||
// Convert Fields to Session
|
// Convert Fields to Session
|
||||||
foreach($_POST as $key=>$value)
|
foreach($_POST as $key=>$value)
|
||||||
$_SESSION['setup'][$configfile][$key] = $value;
|
$_SESSION['setup'][$configfile][$key] = $value;
|
||||||
if($step == 3)GenerateConfigFiles($output_folder);
|
if($step == 3)GenerateConfigFiles($output_folder);
|
||||||
if($step == 3)CreateUserdata();
|
if($step == 3)CreateUserdata();
|
||||||
if($step == 3)PostInstall();
|
if($step == 3)PostInstall();
|
||||||
// execute Sql-Files
|
// execute Sql-Files
|
||||||
$sql_prefix = "sql_";
|
$sql_prefix = "sql_";
|
||||||
|
|
||||||
foreach($_POST as $key=>$value) {
|
foreach($_POST as $key=>$value) {
|
||||||
if(strlen($key)>strlen($sql_prefix) && substr($key,0,strlen($sql_prefix))==$sql_prefix &&
|
if(strlen($key)>strlen($sql_prefix) && substr($key,0,strlen($sql_prefix))==$sql_prefix &&
|
||||||
$_SESSION['setup'][$configfile][substr($key,strlen($sql_prefix), strlen($key)-strlen($sql_prefix))]!=''){
|
$_SESSION['setup'][$configfile][substr($key,strlen($sql_prefix), strlen($key)-strlen($sql_prefix))]!=''){
|
||||||
unset($_SESSION['setup'][$configfile][$key]);
|
unset($_SESSION['setup'][$configfile][$key]);
|
||||||
if($value != '../../database/struktur.sql' && $value != '../../database/beispiel.sql')continue;
|
if($value != '../../database/struktur.sql' && $value != '../../database/beispiel.sql')continue;
|
||||||
|
|
||||||
if(is_file($value)){
|
if(is_file($value)){
|
||||||
if(is_file(__DIR__.'/../../conf/user.inc.php'))
|
if(is_file(__DIR__.'/../../conf/user.inc.php'))
|
||||||
{
|
{
|
||||||
$import = file_get_contents($value);
|
$import = file_get_contents($value);
|
||||||
|
|
||||||
$import = preg_replace ("%/\*(.*)\*/%Us", '', $import);
|
$import = preg_replace ("%/\*(.*)\*/%Us", '', $import);
|
||||||
$import = preg_replace ("%^--(.*)\n%mU", '', $import);
|
$import = preg_replace ("%^--(.*)\n%mU", '', $import);
|
||||||
$import = preg_replace ("%^$\n%mU", '', $import);
|
$import = preg_replace ("%^$\n%mU", '', $import);
|
||||||
|
|
||||||
$db= mysqli_connect($_SESSION['setup'][$configfile]['WFdbhost'],$_SESSION['setup'][$configfile]['WFdbuser'],$_SESSION['setup'][$configfile]['WFdbpass']);
|
$db= mysqli_connect($_SESSION['setup'][$configfile]['WFdbhost'],$_SESSION['setup'][$configfile]['WFdbuser'],$_SESSION['setup'][$configfile]['WFdbpass']);
|
||||||
if($db)
|
if($db)
|
||||||
{
|
{
|
||||||
if(mysqli_select_db($db,$_SESSION['setup'][$configfile]['WFdbname']))
|
if(mysqli_select_db($db,$_SESSION['setup'][$configfile]['WFdbname']))
|
||||||
{
|
{
|
||||||
mysqli_set_charset($db,"utf8");
|
mysqli_set_charset($db,"utf8");
|
||||||
mysqli_query($db,"SET SESSION SQL_MODE :=''");
|
mysqli_query($db,"SET SESSION SQL_MODE :=''");
|
||||||
//mysqli_real_escape_string($db,$import);
|
//mysqli_real_escape_string($db,$import);
|
||||||
|
|
||||||
if($value == '../../database/struktur.sql')
|
if($value == '../../database/struktur.sql')
|
||||||
{
|
{
|
||||||
// Clear target DB
|
// Clear target DB
|
||||||
mysqli_query($db,'SET foreign_key_checks = 0');
|
mysqli_query($db,'SET foreign_key_checks = 0');
|
||||||
if ($result = mysqli_query($db,"SHOW TABLES"))
|
if ($result = mysqli_query($db,"SHOW TABLES"))
|
||||||
{
|
{
|
||||||
while($row = $result->fetch_array(MYSQLI_NUM))
|
while($row = $result->fetch_array(MYSQLI_NUM))
|
||||||
{
|
{
|
||||||
mysqli_query($db,'DROP TABLE IF EXISTS '.$row[0]);
|
mysqli_query($db,'DROP TABLE IF EXISTS '.$row[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mysqli_query($db,'SET foreign_key_checks = 1');
|
mysqli_query($db,'SET foreign_key_checks = 1');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$import = explode (";\n", $import);
|
$import = explode (";\n", $import);
|
||||||
|
|
||||||
foreach ($import as $imp){
|
foreach ($import as $imp){
|
||||||
if ($imp != '' && $imp != ' ' && trim($imp) != ''){
|
if ($imp != '' && $imp != ' ' && trim($imp) != ''){
|
||||||
mysqli_query($db,$imp);
|
mysqli_query($db,$imp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_POST['BeispielTpl']) && $_POST['BeispielTpl'])
|
if(isset($_POST['BeispielTpl']) && $_POST['BeispielTpl'])
|
||||||
mysqli_query($db, "INSERT INTO `user` (`id`, `username`, `password`, `repassword`, `description`, `settings`, `parentuser`, `activ`, `type`, `adresse`, `fehllogins`, `standarddrucker`, `firma`, `logdatei`, `startseite`, `hwtoken`, `hwkey`, `hwcounter`, `motppin`, `motpsecret`, `passwordmd5`, `externlogin`, `projekt_bevorzugen`, `email_bevorzugen`, `projekt`, `rfidtag`, `vorlage`, `kalender_passwort`, `kalender_ausblenden`, `kalender_aktiv`, `gpsstechuhr`, `standardetikett`, `standardfax`, `internebezeichnung`, `hwdatablock`) VALUES
|
mysqli_query($db, "INSERT INTO `user` (`id`, `username`, `password`, `repassword`, `description`, `settings`, `parentuser`, `activ`, `type`, `adresse`, `fehllogins`, `standarddrucker`, `firma`, `logdatei`, `startseite`, `hwtoken`, `hwkey`, `hwcounter`, `motppin`, `motpsecret`, `passwordmd5`, `externlogin`, `projekt_bevorzugen`, `email_bevorzugen`, `projekt`, `rfidtag`, `vorlage`, `kalender_passwort`, `kalender_ausblenden`, `kalender_aktiv`, `gpsstechuhr`, `standardetikett`, `standardfax`, `internebezeichnung`, `hwdatablock`) VALUES
|
||||||
(3, 'demomitarbeiter', 'pllIX0pw7JU9c', 0, '', 'a:6:{s:16:\"pos_list_projekt\";s:1:\"0\";s:18:\"pos_list_kassierer\";s:1:\"0\";s:22:\"pos_list_kassierername\";s:1:\"0\";s:18:\"pos_list_lkadresse\";s:1:\"0\";s:18:\"lohnabrechnung_von\";s:0:\"\";s:18:\"lohnabrechnung_bis\";s:0:\"\";}', 0, 1, 'standard', 6, 0, 0, 1, '2015-10-26 16:01:23', '', 0, '', 0, '', '', '2ad71933e4b074c4671425c8e6b48021', 0, 0, 1, 0, '', '', '', 0, 0, 0, 0, 0, NULL, '');
|
(3, 'demomitarbeiter', 'pllIX0pw7JU9c', 0, '', 'a:6:{s:16:\"pos_list_projekt\";s:1:\"0\";s:18:\"pos_list_kassierer\";s:1:\"0\";s:22:\"pos_list_kassierername\";s:1:\"0\";s:18:\"pos_list_lkadresse\";s:1:\"0\";s:18:\"lohnabrechnung_von\";s:0:\"\";s:18:\"lohnabrechnung_bis\";s:0:\"\";}', 0, 1, 'standard', 6, 0, 0, 1, '2015-10-26 16:01:23', '', 0, '', 0, '', '', '2ad71933e4b074c4671425c8e6b48021', 0, 0, 1, 0, '', '', '', 0, 0, 0, 0, 0, NULL, '');
|
||||||
");
|
");
|
||||||
$_SESSION['setup'][$value] = 1;
|
$_SESSION['setup'][$value] = 1;
|
||||||
}
|
}
|
||||||
mysqli_close($db);
|
mysqli_close($db);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
if(exec("mysql --user='{$_SESSION['setup'][$configfile]['WFdbuser']}' --password='{$_SESSION['setup'][$configfile]['WFdbpass']}' --host='{$_SESSION['setup'][$configfile]['WFdbhost']}' --database='{$_SESSION['setup'][$configfile]['WFdbname']}' < '$value'", $sql_out, $sql_status)==2)
|
if(exec("mysql --user='{$_SESSION['setup'][$configfile]['WFdbuser']}' --password='{$_SESSION['setup'][$configfile]['WFdbpass']}' --host='{$_SESSION['setup'][$configfile]['WFdbhost']}' --database='{$_SESSION['setup'][$configfile]['WFdbname']}' < '$value'", $sql_out, $sql_status)==2)
|
||||||
$error = "Konnte '$value' nicht ausführen";
|
$error = "Konnte '$value' nicht ausführen";
|
||||||
}else
|
}else
|
||||||
$error .= "Konnte '$value' nicht finden";
|
$error .= "Konnte '$value' nicht finden";
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove Readonly-Fields
|
// remove Readonly-Fields
|
||||||
$ro_prefix = "ro_";
|
$ro_prefix = "ro_";
|
||||||
foreach($_POST as $key=>$value) {
|
foreach($_POST as $key=>$value) {
|
||||||
if(strlen($key)>strlen($ro_prefix) && substr($key,0,strlen($ro_prefix))==$ro_prefix){
|
if(strlen($key)>strlen($ro_prefix) && substr($key,0,strlen($ro_prefix))==$ro_prefix){
|
||||||
unset($_SESSION['setup'][$configfile][substr($key,strlen($ro_prefix), strlen($key)-strlen($ro_prefix))]);
|
unset($_SESSION['setup'][$configfile][substr($key,strlen($ro_prefix), strlen($key)-strlen($ro_prefix))]);
|
||||||
unset($_SESSION['setup'][$configfile][$key]);
|
unset($_SESSION['setup'][$configfile][$key]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($error=='') {
|
if($error=='') {
|
||||||
header('Location: ./setup.php?step='.++$step);
|
header('Location: ./setup.php?step='.++$step);
|
||||||
exit;
|
exit;
|
||||||
}else
|
}else
|
||||||
$page = str_replace('[MESSAGE]', "<div class=\"inputerror\">$error</div>", $page);
|
$page = str_replace('[MESSAGE]', "<div class=\"inputerror\">$error</div>", $page);
|
||||||
}else
|
}else
|
||||||
$page = str_replace('[MESSAGE]', "<div class=\"inputerror\">$error</div>", $page);
|
$page = str_replace('[MESSAGE]', "<div class=\"inputerror\">$error</div>", $page);
|
||||||
}
|
}
|
||||||
|
|
||||||
$page = str_replace('[MESSAGE]','', $page);
|
$page = str_replace('[MESSAGE]','', $page);
|
||||||
echo $page;
|
echo $page;
|
||||||
|
|
||||||
if($step == 5 && stepFehler(5))
|
if($step == 5 && stepFehler(5))
|
||||||
{
|
{
|
||||||
@unlink(__DIR__ . '/setup.conf.php');
|
@unlink(__DIR__ . '/setup.conf.php');
|
||||||
@unlink(__DIR__ . '/setup-cli.php');
|
@unlink(__DIR__ . '/setup-cli.php');
|
||||||
@unlink(__DIR__ . '/setup.css');
|
@unlink(__DIR__ . '/setup.css');
|
||||||
@unlink(__FILE__);
|
@unlink(__FILE__);
|
||||||
@rmdir(__DIR__);
|
@rmdir(__DIR__);
|
||||||
}
|
}
|
||||||
|
|
||||||
function GenerateConfigFiles($output_folder)
|
function GenerateConfigFiles($output_folder)
|
||||||
{
|
{
|
||||||
if(!stepFehler(3)) {
|
if(!stepFehler(3)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$fehler = true;
|
$fehler = true;
|
||||||
foreach($_SESSION['setup'] as $file=>$vars) {
|
foreach($_SESSION['setup'] as $file=>$vars) {
|
||||||
$fehler = false;
|
$fehler = false;
|
||||||
}
|
}
|
||||||
foreach($_SESSION['setup'] as $file=>$vars) {
|
foreach($_SESSION['setup'] as $file=>$vars) {
|
||||||
if($file !== 'user.inc.php')
|
if($file !== 'user.inc.php')
|
||||||
{
|
{
|
||||||
$fehler = true;
|
$fehler = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if(!is_dir($output_folder))
|
if(!is_dir($output_folder))
|
||||||
{
|
{
|
||||||
$fehler = true;
|
$fehler = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$out = "<?php\n";
|
$out = "<?php\n";
|
||||||
|
|
||||||
$WFdbhost = '';
|
$WFdbhost = '';
|
||||||
$WFdbname = '';
|
$WFdbname = '';
|
||||||
$WFdbpass = '';
|
$WFdbpass = '';
|
||||||
$WFdbuser = '';
|
$WFdbuser = '';
|
||||||
$WFuserdata = '';
|
$WFuserdata = '';
|
||||||
|
|
||||||
foreach($vars as $key=>$value)
|
foreach($vars as $key=>$value)
|
||||||
{
|
{
|
||||||
if(in_array($key, array('WFdbhost', 'WFdbname', 'WFdbuser','WFdbpass','WFuserdata'))) {
|
if(in_array($key, array('WFdbhost', 'WFdbname', 'WFdbuser','WFdbpass','WFuserdata'))) {
|
||||||
$$key = $value;
|
$$key = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($WFdbname == '' || $WFdbuser == '')
|
if($WFdbname == '' || $WFdbuser == '')
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$db= mysqli_connect($WFdbhost,$WFdbuser,$WFdbpass);
|
$db= mysqli_connect($WFdbhost,$WFdbuser,$WFdbpass);
|
||||||
if(!$db)
|
if(!$db)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!mysqli_select_db($db,$WFdbname))
|
if(!mysqli_select_db($db,$WFdbname))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach($vars as $key=>$value)
|
foreach($vars as $key=>$value)
|
||||||
{
|
{
|
||||||
if(!in_array($key, array('WFdbhost', 'WFdbname', 'WFdbuser','WFdbpass','WFuserdata'))) {
|
if(!in_array($key, array('WFdbhost', 'WFdbname', 'WFdbuser','WFdbpass','WFuserdata'))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if($key === 'WFuserdata' && !is_dir($value))
|
if($key === 'WFuserdata' && !is_dir($value))
|
||||||
{
|
{
|
||||||
$fehler = true;
|
$fehler = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if(strpos($key, 'WF') !== false){
|
if(strpos($key, 'WF') !== false){
|
||||||
if($value==='true' || $value==='false'){
|
if($value==='true' || $value==='false'){
|
||||||
$out .= '$this->' . $key . '=' . $value . ';' . "\n";
|
$out .= '$this->' . $key . '=' . $value . ';' . "\n";
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$out .= '$this->' . $key . '=\'' . (str_replace('\'', '\\\'', str_replace('\\', '\\\\', $value))) . '\';' . "\n";
|
$out .= '$this->' . $key . '=\'' . (str_replace('\'', '\\\'', str_replace('\\', '\\\\', $value))) . '\';' . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*$out2 = "<?php\n";
|
/*$out2 = "<?php\n";
|
||||||
$out2 .= " define('USEFPDF2',true);\r\n";
|
$out2 .= " define('USEFPDF2',true);\r\n";
|
||||||
$out2 .= "?>";
|
$out2 .= "?>";
|
||||||
if(!file_put_contents(dirname(__FILE__).'/../../conf/user_defined.php', $out2))$fehler = true;*/
|
if(!file_put_contents(dirname(__FILE__).'/../../conf/user_defined.php', $out2))$fehler = true;*/
|
||||||
if(!file_put_contents($output_folder.$file, $out)) {
|
if(!file_put_contents($output_folder.$file, $out)) {
|
||||||
$fehler = true;
|
$fehler = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return !$fehler;
|
return !$fehler;
|
||||||
}
|
}
|
||||||
|
|
||||||
function GenerateHtml($step, $setup)
|
function GenerateHtml($step, $setup)
|
||||||
{
|
{
|
||||||
if(!array_key_exists($step, $setup)) { return "<h2>Page doesnt exist</h2>"; }
|
if(!array_key_exists($step, $setup)) { return "<h2>Page doesnt exist</h2>"; }
|
||||||
|
|
||||||
$html = "";
|
$html = "";
|
||||||
if(array_key_exists('description',$setup[$step])) $html .= "<h2>{$setup[$step]['description']}</h2>";
|
if(array_key_exists('description',$setup[$step])) $html .= "<h2>{$setup[$step]['description']}</h2>";
|
||||||
if(array_key_exists('configfile',$setup[$step])) $html .= "<input type=\"hidden\" name=\"_CONFIGFILE\" value=\"{$setup[$step]['configfile']}\">";
|
if(array_key_exists('configfile',$setup[$step])) $html .= "<input type=\"hidden\" name=\"_CONFIGFILE\" value=\"{$setup[$step]['configfile']}\">";
|
||||||
if(array_key_exists('action',$setup[$step])) $html .= "<input type=\"hidden\" name=\"_ACTION\" value=\"{$setup[$step]['action']}\">";
|
if(array_key_exists('action',$setup[$step])) $html .= "<input type=\"hidden\" name=\"_ACTION\" value=\"{$setup[$step]['action']}\">";
|
||||||
|
|
||||||
$fields = '';
|
$fields = '';
|
||||||
foreach($setup[$step]['fields'] as $key=>$value)
|
foreach($setup[$step]['fields'] as $key=>$value)
|
||||||
{
|
{
|
||||||
$name = $key;
|
$name = $key;
|
||||||
$text = ((array_key_exists('text',$value)) ? $value['text'] : $value);
|
$text = ((array_key_exists('text',$value)) ? $value['text'] : $value);
|
||||||
$type = ((array_key_exists('type',$value)) ? $value['type'] : "text");
|
$type = ((array_key_exists('type',$value)) ? $value['type'] : "text");
|
||||||
$note = ((array_key_exists('note',$value)) ? $value['note'] : "");
|
$note = ((array_key_exists('note',$value)) ? $value['note'] : "");
|
||||||
$default = ((array_key_exists('default',$value)) ? $value['default'] : "");
|
$default = ((array_key_exists('default',$value)) ? $value['default'] : "");
|
||||||
$options = ((array_key_exists('options',$value)) ? $value['options'] : array());
|
$options = ((array_key_exists('options',$value)) ? $value['options'] : array());
|
||||||
$fvalue = ((array_key_exists('value',$value)) ? $value['value'] : "");
|
$fvalue = ((array_key_exists('value',$value)) ? $value['value'] : "");
|
||||||
$readonly = ((array_key_exists('readonly',$value)) ? $value['readonly'] : "");
|
$readonly = ((array_key_exists('readonly',$value)) ? $value['readonly'] : "");
|
||||||
$sql = ((array_key_exists('sql',$value)) ? $value['sql'] : "");
|
$sql = ((array_key_exists('sql',$value)) ? $value['sql'] : "");
|
||||||
$invisible = ((array_key_exists('invisible',$value)) ? $value['invisible'] : "");
|
$invisible = ((array_key_exists('invisible',$value)) ? $value['invisible'] : "");
|
||||||
|
|
||||||
if($readonly!="") $ro = "<input type=\"hidden\" name=\"ro_$name\" value=\"$name\">";
|
if($readonly!="") $ro = "<input type=\"hidden\" name=\"ro_$name\" value=\"$name\">";
|
||||||
if($sql!="") $mysql = "<input type=\"hidden\" name=\"sql_$name\" value=\"$sql\">";
|
if($sql!="") $mysql = "<input type=\"hidden\" name=\"sql_$name\" value=\"$sql\">";
|
||||||
|
|
||||||
if($invisible=="")
|
if($invisible=="")
|
||||||
{
|
{
|
||||||
if($type=='text'){
|
if($type=='text'){
|
||||||
$input = "<input type=\"text\" name=\"$name\" value=\"$default\" placeholder=\"$text\">";
|
$input = "<input type=\"text\" name=\"$name\" value=\"$default\" placeholder=\"$text\">";
|
||||||
}
|
}
|
||||||
if($type=='password'){
|
if($type=='password'){
|
||||||
$input = "<input type=\"password\" name=\"$name\" value=\"$default\" placeholder=\"$text\">";
|
$input = "<input type=\"password\" name=\"$name\" value=\"$default\" placeholder=\"$text\">";
|
||||||
}
|
}
|
||||||
|
|
||||||
if($type=='checkbox'){
|
if($type=='checkbox'){
|
||||||
$input = "<label><input type=\"checkbox\" name=\"$name\" value=\"$fvalue\"> $text</label>";
|
$input = "<label><input type=\"checkbox\" name=\"$name\" value=\"$fvalue\"> $text</label>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if($type=='select') {
|
if($type=='select') {
|
||||||
$opt_out = '';
|
$opt_out = '';
|
||||||
foreach($options as $opt_value=>$opt_text){
|
foreach($options as $opt_value=>$opt_text){
|
||||||
$selected = (($default!="" && $default==$opt_value) ? 'selected' : '');
|
$selected = (($default!="" && $default==$opt_value) ? 'selected' : '');
|
||||||
$opt_out .= "<option value=\"$opt_value\" $selected>$opt_text</option>";
|
$opt_out .= "<option value=\"$opt_value\" $selected>$opt_text</option>";
|
||||||
}
|
}
|
||||||
$input = "<select name=\"$name\">$opt_out</select>";
|
$input = "<select name=\"$name\">$opt_out</select>";
|
||||||
}
|
}
|
||||||
$field = "<div class=\"row\"><div>{$input}{$ro}{$mysql}</div><div>$note</div></div>\n";
|
$field = "<div class=\"row\"><div>{$input}{$ro}{$mysql}</div><div>$note</div></div>\n";
|
||||||
}else
|
}else
|
||||||
$field = "<input type=\"hidden\" name=\"$name\" value=\"1\">{$ro}{$mysql}";
|
$field = "<input type=\"hidden\" name=\"$name\" value=\"1\">{$ro}{$mysql}";
|
||||||
|
|
||||||
$fields .= $field;
|
$fields .= $field;
|
||||||
}
|
}
|
||||||
$html .= "\n[MESSAGE]\n$fields\n[BUTTON]";
|
$html .= "\n[MESSAGE]\n$fields\n[BUTTON]";
|
||||||
|
|
||||||
$page = HtmlTemplate($html, $step);
|
$page = HtmlTemplate($html, $step);
|
||||||
|
|
||||||
return $page;
|
return $page;
|
||||||
}
|
}
|
||||||
|
|
||||||
function HtmlTemplate($html)
|
function HtmlTemplate($html)
|
||||||
{
|
{
|
||||||
global $step;
|
global $step;
|
||||||
|
|
||||||
// CSS inline einbinden; ansonsten wird die letzte Seite nicht korrekt angezeigt
|
// CSS inline einbinden; ansonsten wird die letzte Seite nicht korrekt angezeigt
|
||||||
// Auf der letzten Seite werden alle Dateien im setup-Order gelöscht.
|
// Auf der letzten Seite werden alle Dateien im setup-Order gelöscht.
|
||||||
$cssContent = file_get_contents(__DIR__ . '/setup.css');
|
$cssContent = file_get_contents(__DIR__ . '/setup.css');
|
||||||
|
|
||||||
return
|
return
|
||||||
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
|
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
|
||||||
<html><head>
|
<html><head>
|
||||||
<style type=\"text/css\">{$cssContent}</style>
|
<style type=\"text/css\">{$cssContent}</style>
|
||||||
<title>DBXE Installer</title>
|
<title>OpenXE Installer</title>
|
||||||
</head><body class=\"slide-{$step}\"><div id=\"main\"><div class=\"header\"><h1 class=\"headline\">DB Installer</h1></div><div class=\"content\"><form action=\"\" method=\"POST\">
|
</head><body class=\"slide-{$step}\"><div id=\"main\"><div class=\"header\"><h1 class=\"headline\">OpenXE Installer</h1></div><div class=\"content\"><form action=\"\" method=\"POST\">
|
||||||
{$html}
|
{$html}
|
||||||
</form></div>
|
</form></div>
|
||||||
<!--
|
<!--
|
||||||
<div class=\"footer\"><p>Nutzen Sie unseren <a href=\"https://shop.xentral.biz/sonstige/1-jahr-zugang-updateserver-open-source-version.html?c=164?c=164\" target=\"_blank\">Update-Server</a> um auch mit der Open-Source Version mit Updates versorgt zu sein.</p></div>
|
<div class=\"footer\"><p>Nutzen Sie unseren <a href=\"https://shop.xentral.biz/sonstige/1-jahr-zugang-updateserver-open-source-version.html?c=164?c=164\" target=\"_blank\">Update-Server</a> um auch mit der Open-Source Version mit Updates versorgt zu sein.</p></div>
|
||||||
--!>
|
--!>
|
||||||
<div class=\"footer\"><p>
|
<div class=\"footer\"><p>
|
||||||
DBXE is free open source software under AGPL/EGPL license, based on OpenXE, <a href=\"https://xentral.com\" target=\"_blank\">Xentral®</a> by Xentral ERP Software GmbH.</p></div>
|
OpenXE is free open source software under AGPL/EGPL license, based on <a href=\"https://xentral.com\" target=\"_blank\">Xentral®</a> by Xentral ERP Software GmbH.</p></div>
|
||||||
</div></body></html>";
|
</div></body></html>";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine under which linux user runs the webserver
|
* Determine under which linux user runs the webserver
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function DetermineWebserverUser()
|
function DetermineWebserverUser()
|
||||||
{
|
{
|
||||||
$username = @getenv('USERNAME') ?: @getenv('USER');
|
$username = @getenv('USERNAME') ?: @getenv('USER');
|
||||||
if ($username !== false && !empty($username)) {
|
if ($username !== false && !empty($username)) {
|
||||||
return $username;
|
return $username;
|
||||||
}
|
}
|
||||||
$username = $_SERVER['USERNAME'] ?: $_SERVER['USER'];
|
$username = $_SERVER['USERNAME'] ?: $_SERVER['USER'];
|
||||||
if (!empty($username)) {
|
if (!empty($username)) {
|
||||||
return $username;
|
return $username;
|
||||||
}
|
}
|
||||||
$username = trim(@shell_exec('whoami'));
|
$username = trim(@shell_exec('whoami'));
|
||||||
if (!empty($username)) {
|
if (!empty($username)) {
|
||||||
return $username;
|
return $username;
|
||||||
}
|
}
|
||||||
|
|
||||||
return get_current_user(); // Eventuell falsch unter IIS
|
return get_current_user(); // Eventuell falsch unter IIS
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine the full path of the php binary
|
* Determine the full path of the php binary
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function DeterminePhpBinary()
|
function DeterminePhpBinary()
|
||||||
{
|
{
|
||||||
if (!empty(PHP_BINDIR)) {
|
if (!empty(PHP_BINDIR)) {
|
||||||
return PHP_BINDIR . '/php';
|
return PHP_BINDIR . '/php';
|
||||||
}
|
}
|
||||||
$binary = trim(@shell_exec('which php'));
|
$binary = trim(@shell_exec('which php'));
|
||||||
if (!empty($binary)) {
|
if (!empty($binary)) {
|
||||||
return $binary;
|
return $binary;
|
||||||
}
|
}
|
||||||
|
|
||||||
return '/usr/bin/env php';
|
return '/usr/bin/env php';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine the full path of the installation directory; without trailing slash
|
* Determine the full path of the installation directory; without trailing slash
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function DetermineInstallationDir()
|
function DetermineInstallationDir()
|
||||||
{
|
{
|
||||||
$baseDir = null;
|
$baseDir = null;
|
||||||
if (!empty(__FILE__)) {
|
if (!empty(__FILE__)) {
|
||||||
$offset = strpos(__FILE__, '/www/setup/setup.php');
|
$offset = strpos(__FILE__, '/www/setup/setup.php');
|
||||||
if ($offset !== false) {
|
if ($offset !== false) {
|
||||||
$baseDir = substr_replace(__FILE__, '', $offset);
|
$baseDir = substr_replace(__FILE__, '', $offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!empty($baseDir)) {
|
if (!empty($baseDir)) {
|
||||||
return $baseDir;
|
return $baseDir;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($_SERVER['SCRIPT_FILENAME'])) {
|
if (!empty($_SERVER['SCRIPT_FILENAME'])) {
|
||||||
$offset = strpos($_SERVER['SCRIPT_FILENAME'], '/www/setup/setup.php');
|
$offset = strpos($_SERVER['SCRIPT_FILENAME'], '/www/setup/setup.php');
|
||||||
if ($offset !== false) {
|
if ($offset !== false) {
|
||||||
$baseDir = substr_replace($_SERVER['SCRIPT_FILENAME'], '', $offset);
|
$baseDir = substr_replace($_SERVER['SCRIPT_FILENAME'], '', $offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $baseDir;
|
return $baseDir;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 545 KiB After Width: | Height: | Size: 358 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 3.5 KiB |
|
|
@ -1,92 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xml:space="preserve"
|
|
||||||
style="enable-background:new 0 0 1440 1024;"
|
|
||||||
viewBox="0 0 300 104"
|
|
||||||
y="0px"
|
|
||||||
x="0px"
|
|
||||||
id="Layer_1"
|
|
||||||
version="1.1"><metadata
|
|
||||||
id="metadata35"><rdf:RDF><cc:Work
|
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
|
||||||
id="defs33" />
|
|
||||||
<style
|
|
||||||
id="style2"
|
|
||||||
type="text/css">
|
|
||||||
.st0{fill:#008AC2;}
|
|
||||||
.st1{fill:#6E6F72;}
|
|
||||||
</style>
|
|
||||||
<g
|
|
||||||
transform="matrix(0.5179558,0,0,0.5179558,-222.92818,-213.2424)"
|
|
||||||
id="g28">
|
|
||||||
<polygon
|
|
||||||
style="fill:#008ac2"
|
|
||||||
id="polygon4"
|
|
||||||
points="466.7,527.6 501.7,492.6 430.4,456.6 430.4,544.8 466.7,560.4 "
|
|
||||||
class="st0" />
|
|
||||||
<polygon
|
|
||||||
style="fill:#008ac2"
|
|
||||||
id="polygon6"
|
|
||||||
points="584.2,450.5 509.6,411.7 435,450.5 509.1,486.3 "
|
|
||||||
class="st0" />
|
|
||||||
<polygon
|
|
||||||
style="fill:#008ac2"
|
|
||||||
id="polygon8"
|
|
||||||
points="472.3,531.2 472.3,612.3 506,575.5 506,495.4 "
|
|
||||||
class="st0" />
|
|
||||||
<path
|
|
||||||
style="fill:#6e6f72"
|
|
||||||
id="path10"
|
|
||||||
d="m 567.1,483.3 c -30.8,0 -45.8,23.5 -45.8,46.9 0,23.4 14.5,45.9 45.8,45.9 31.3,0 45.4,-23 45.6,-46 0.3,-23.3 -14.9,-46.8 -45.6,-46.8 z m 0,77.4 c -21,0 -28.9,-15.6 -29.2,-30.3 -0.4,-15 8.3,-31.9 29.2,-31.9 21,0 29.4,16.8 29.1,31.8 -0.2,14.6 -8.1,30.4 -29.1,30.4 z"
|
|
||||||
class="st1" />
|
|
||||||
<path
|
|
||||||
style="fill:#6e6f72"
|
|
||||||
id="path12"
|
|
||||||
d="m 659.8,510.7 c -7.1,0 -15.5,3.1 -20.3,10 l -1,-10 H 624 V 601 h 15.5 v -33.6 c 4.4,6.9 14.2,8.9 20.8,8.9 20.1,0 31.6,-14.5 31.6,-32.8 0,-18.4 -12.8,-32.8 -32.1,-32.8 z m -1.2,50.6 c -10.5,0 -17.8,-8 -17.8,-17.8 0,-9.8 6.6,-17.8 17.8,-17.8 11.2,0 17.8,8 17.8,17.8 0,9.8 -7.2,17.8 -17.8,17.8 z"
|
|
||||||
class="st1" />
|
|
||||||
<path
|
|
||||||
style="fill:#6e6f72"
|
|
||||||
id="path14"
|
|
||||||
d="m 733.8,510.7 c -20.3,0 -33.3,13.6 -33.3,32.4 0,19.9 12.8,33 34.4,33 9.5,0 20.3,-3.3 26.9,-10.1 l -9.9,-9.7 c -3.6,3.6 -11.1,5.8 -16.8,5.8 -10.9,0 -17.7,-5.5 -18.7,-13.2 h 48.9 c 2.5,-25.3 -10.6,-38.2 -31.5,-38.2 z m -17.1,25.7 c 2.3,-8 9.2,-12.1 17.5,-12.1 8.9,0 15.3,4 16.3,12.1 z"
|
|
||||||
class="st1" />
|
|
||||||
<path
|
|
||||||
style="fill:#6e6f72"
|
|
||||||
id="path16"
|
|
||||||
d="m 812.4,510.7 c -7.9,0 -14.2,3.2 -20.6,9.6 l -1,-9.6 H 777 v 65.1 h 15.4 v -32.7 c 0,-9.7 6.5,-17.9 16,-17.9 9.9,0 15.1,7.4 15.1,17.1 v 33.5 H 839 v -33.6 c 0,-20.2 -11.8,-31.5 -26.6,-31.5 z"
|
|
||||||
class="st1" />
|
|
||||||
<path
|
|
||||||
style="fill:#008ac2"
|
|
||||||
id="path18"
|
|
||||||
d="m 1009.6,500.3 v -17 H 943 c 0,30.9 0,62 0,92.9 h 66.6 v -17.3 h -50 v -21 h 48.2 v -16.3 h -48.2 v -21.4 h 50 z"
|
|
||||||
class="st0" />
|
|
||||||
<polygon
|
|
||||||
style="fill:#008ac2"
|
|
||||||
id="polygon20"
|
|
||||||
points="911.7,576.1 931,576.2 931,574.5 909.1,541 897.9,554.7 911.7,576.1 "
|
|
||||||
class="st0" />
|
|
||||||
<rect
|
|
||||||
style="fill:#008ac2"
|
|
||||||
id="rect22"
|
|
||||||
height="0"
|
|
||||||
width="0"
|
|
||||||
class="st0"
|
|
||||||
y="485.10001"
|
|
||||||
x="932.40002" />
|
|
||||||
<polygon
|
|
||||||
style="fill:#008ac2"
|
|
||||||
id="polygon24"
|
|
||||||
points="912.1,483.3 900.2,501.4 901.3,503.1 902.9,505.4 909.4,515.4 931,484.5 931,483.3 914,483.3 912.1,483.3 "
|
|
||||||
class="st0" />
|
|
||||||
<polygon
|
|
||||||
style="fill:#008ac2"
|
|
||||||
id="polygon26"
|
|
||||||
points="871.5,483.3 871.4,483.3 851.9,483.3 851.9,484.6 866.5,506.9 881,529.2 881,529.2 881.1,529.2 881,529.3 851.9,573.5 851.9,573.5 851.9,576.2 868.9,576.2 869,576.2 872.6,571 887.4,548.5 890.5,543.7 900.7,528.2 900.7,528.1 891.6,514.1 891.3,513.7 "
|
|
||||||
class="st0" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 3.5 KiB |
|
|
@ -1,51 +1,51 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<title>DBXE - Login</title>
|
<title>OpenXE - Login</title>
|
||||||
<link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
<link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
||||||
<link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
<link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
||||||
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16">
|
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16">
|
||||||
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-32x32.png" sizes="32x32">
|
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-32x32.png" sizes="32x32">
|
||||||
<script type="text/javascript" src="./js/jquery/jquery-3.5.0.min.js"></script>
|
<script type="text/javascript" src="./js/jquery/jquery-3.5.0.min.js"></script>
|
||||||
<script type="text/javascript" src="[JQUERYMIGRATESRC]"></script>
|
<script type="text/javascript" src="[JQUERYMIGRATESRC]"></script>
|
||||||
<script src="themes/new/js/scripts_login.js"></script>
|
<script src="themes/new/js/scripts_login.js"></script>
|
||||||
<link rel="stylesheet" href="themes/new/css/normalize.min.css?v=5">
|
<link rel="stylesheet" href="themes/new/css/normalize.min.css?v=5">
|
||||||
<link rel="stylesheet" href="themes/new/css/login_styles.css?v=3">
|
<link rel="stylesheet" href="themes/new/css/login_styles.css?v=3">
|
||||||
<link rel="stylesheet" href="themes/new/css/custom.css?v=3">
|
<link rel="stylesheet" href="themes/new/css/custom.css?v=3">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="login-container">
|
<div id="login-container">
|
||||||
<div id="login-slider-wrapper">
|
<div id="login-slider-wrapper">
|
||||||
<div id="login-slider">
|
<div id="login-slider">
|
||||||
[LOGINSLIDER]
|
[LOGINSLIDER]
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="login-wrapper">
|
<div id="login-wrapper">
|
||||||
|
|
||||||
<img src="[TPLLOGOFIRMA]" heigth="72">
|
<img src="[TPLLOGOFIRMA]" heigth="72">
|
||||||
</img>
|
</img>
|
||||||
|
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
Willkommen beim ERP von <b>[FIRMENNAME] </b><br/>
|
Willkommen bei OpenXE ERP.<br/>
|
||||||
Bitte gib Deinen Benutzernamen und Passwort ein!
|
Bitte gib Deinen Benutzernamen und Passwort ein!
|
||||||
</div>
|
</div>
|
||||||
<div [LOGINWARNING_VISIBLE] class="warning"><p>[LOGINWARNING_TEXT]</p></div>
|
<div [LOGINWARNING_VISIBLE] class="warning"><p>[LOGINWARNING_TEXT]</p></div>
|
||||||
|
|
||||||
[SPERRMELDUNGNACHRICHT]
|
[SPERRMELDUNGNACHRICHT]
|
||||||
[PAGE]
|
[PAGE]
|
||||||
<div id="login-footer">
|
<div id="login-footer">
|
||||||
<div class="copyright">
|
<div class="copyright">
|
||||||
© [YEAR] by DBXE & OpenXE-org & Xentral ERP Software GmbH.<br>
|
© [YEAR] by OpenXE-org & Xentral ERP Software GmbH.<br>
|
||||||
DBXE is a OS software under AGPL/EGPL license, based on Xentral® and OpenXE.<br>
|
OpenXE is free open source software under AGPL/EGPL license, based on <a href="https://xentral.com" target="_blank">Xentral®</a>.<br>
|
||||||
<a href="https://repo.dbxe.de/dbxe/DBXE/commits/branch/master">[XENTRALVERSION]</a>
|
<a href="https://github.com/OpenXE-org/OpenXE/commits/master">[XENTRALVERSION]</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -1,34 +1,34 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<meta http-equiv="Content-Security-Policy" content="default-src 'self';">
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self';">
|
||||||
<title>DBXE - Passwort vergessen</title>
|
<title>OpenXE - Passwort vergessen</title>
|
||||||
<link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
<link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
||||||
<link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
<link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
||||||
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16">
|
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16">
|
||||||
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-32x32.png" sizes="32x32">
|
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-32x32.png" sizes="32x32">
|
||||||
<script type="text/javascript" src="./js/jquery/jquery-3.5.0.min.js"></script>
|
<script type="text/javascript" src="./js/jquery/jquery-3.5.0.min.js"></script>
|
||||||
<script type="text/javascript" src="[JQUERYMIGRATESRC]"></script>
|
<script type="text/javascript" src="[JQUERYMIGRATESRC]"></script>
|
||||||
<link rel="stylesheet" href="./themes/[THEME]/css/login.css?v=2">
|
<link rel="stylesheet" href="./themes/[THEME]/css/login.css?v=2">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="login-wrapper">
|
<div class="login-wrapper">
|
||||||
<div class="loginbox">
|
<div class="loginbox">
|
||||||
|
|
||||||
<img id="logo" src="themes/new/images/openxe_logo.svg" width="100%">
|
<img id="logo" src="themes/new/images/openxe_logo.svg" width="100%">
|
||||||
</img>
|
</img>
|
||||||
|
|
||||||
|
|
||||||
[SPERRMELDUNGNACHRICHT]
|
[SPERRMELDUNGNACHRICHT]
|
||||||
[PAGE]
|
[PAGE]
|
||||||
|
|
||||||
<div class="copyright">
|
<div class="copyright">
|
||||||
© [YEAR] DBXE & OpenXE-org & Xentral ERP Software GmbH
|
© [YEAR] OpenXE-org & Xentral ERP Software GmbH
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,18 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="Content-Security-Policy" content="default-src 'self';">
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self';">
|
||||||
<title>OpenXE Login</title>
|
<title>OpenXE Login</title>
|
||||||
<link rel="stylesheet" href="themes/new/css/login.css?v=2">
|
<link rel="stylesheet" href="themes/new/css/login.css?v=2">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="permission-box">
|
<div class="permission-box">
|
||||||
<h1>DBXE Login</h1>
|
<h1>OpenXE Login</h1>
|
||||||
<p class="error">Sie haben nicht das Recht auf diese Seite zugreifen zu dürfen!</p>
|
<p class="error">Sie haben nicht das Recht auf diese Seite zugreifen zu dürfen!</p>
|
||||||
<p><a href="BACK" class="btn btn-primary">Zurück zur vorherigen Seite</a></p>
|
<p><a href="BACK" class="btn btn-primary">Zurück zur vorherigen Seite</a></p>
|
||||||
<p><a href="index.php?module=welcome&action=logout" class="btn btn-secondary">Erneut einloggen</a></p>
|
<p><a href="index.php?module=welcome&action=logout" class="btn btn-secondary">Erneut einloggen</a></p>
|
||||||
<p>Sie benötigen diesen Zugriff? Bitten Sie um Freigabe unter zugriff@dbxe.de</p>
|
</div>
|
||||||
</div>
|
</body>
|
||||||
</body>
|
</html>
|
||||||
</html>
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="logo-index" href="index.php" title="DBXE">
|
<a class="logo-index" href="index.php" title="OpenXE">
|
||||||
[SIDEBARLOGO]
|
[SIDEBARLOGO]
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 3.5 KiB |
|
|
@ -1,93 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xml:space="preserve"
|
|
||||||
style="enable-background:new 0 0 1440 1024;"
|
|
||||||
viewBox="0 0 410 104"
|
|
||||||
height="26"
|
|
||||||
width="115"
|
|
||||||
y="0px"
|
|
||||||
x="0px"
|
|
||||||
id="Layer_1"
|
|
||||||
version="1.1"
|
|
||||||
sodipodi:docname="sidebar_logo.svg"
|
|
||||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"><sodipodi:namedview
|
|
||||||
id="namedview1"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#000000"
|
|
||||||
borderopacity="0.25"
|
|
||||||
inkscape:showpageshadow="2"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pagecheckerboard="0"
|
|
||||||
inkscape:deskcolor="#d1d1d1"
|
|
||||||
inkscape:zoom="9.1565217"
|
|
||||||
inkscape:cx="57.5"
|
|
||||||
inkscape:cy="13.050807"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1017"
|
|
||||||
inkscape:window-x="1912"
|
|
||||||
inkscape:window-y="-8"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="g28" /><metadata
|
|
||||||
id="metadata35"><rdf:RDF><cc:Work
|
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
|
||||||
id="defs33" />
|
|
||||||
<style
|
|
||||||
id="style2"
|
|
||||||
type="text/css">
|
|
||||||
.st0{fill:#ffffff;}
|
|
||||||
.st1{fill:#fffffE;}
|
|
||||||
</style>
|
|
||||||
<g
|
|
||||||
transform="matrix(0.5179558,0,0,0.5179558,-222.92818,-213.2424)"
|
|
||||||
id="g28">
|
|
||||||
<polygon
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="polygon4"
|
|
||||||
points="466.7,527.6 501.7,492.6 430.4,456.6 430.4,544.8 466.7,560.4 "
|
|
||||||
class="st0" />
|
|
||||||
<polygon
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="polygon6"
|
|
||||||
points="584.2,450.5 509.6,411.7 435,450.5 509.1,486.3 "
|
|
||||||
class="st0" />
|
|
||||||
<polygon
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="polygon8"
|
|
||||||
points="472.3,531.2 472.3,612.3 506,575.5 506,495.4 "
|
|
||||||
class="st0" />
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect22"
|
|
||||||
height="0"
|
|
||||||
width="0"
|
|
||||||
class="st0"
|
|
||||||
y="485.10001"
|
|
||||||
x="932.40002" />
|
|
||||||
|
|
||||||
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-weight:500;font-size:123.563px;line-height:1.5;font-family:'AG Book Pro';-inkscape-font-specification:'AG Book Pro Medium';fill:#e20020;stroke-width:46.3214;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
x="527.25061"
|
|
||||||
y="576.20001"
|
|
||||||
id="text1"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan1"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'AG Book Pro';-inkscape-font-specification:'AG Book Pro Bold';fill:#ffffff;stroke-width:46.3214"
|
|
||||||
x="527.25061"
|
|
||||||
y="576.20001">dBXE</tspan></text></g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 2.7 KiB |
|
|
@ -400,9 +400,6 @@ class WidgetGenprojekt
|
||||||
$field = new HTMLInput("next_verbindlichkeit","text","","40","","","","","","","","0","","");
|
$field = new HTMLInput("next_verbindlichkeit","text","","40","","","","","","","","0","","");
|
||||||
$this->form->NewField($field);
|
$this->form->NewField($field);
|
||||||
|
|
||||||
$field = new HTMLInput("next_lieferantengutschrift","text","","40","","","","","","","","0","","");
|
|
||||||
$this->form->NewField($field);
|
|
||||||
|
|
||||||
$field = new HTMLInput("next_goodspostingdocument","text","","40","","","","","","","","0","","");
|
$field = new HTMLInput("next_goodspostingdocument","text","","40","","","","","","","","0","","");
|
||||||
$this->form->NewField($field);
|
$this->form->NewField($field);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -292,7 +292,6 @@
|
||||||
<tr><td>Nächste Anfragenummer:</td><td>[NEXT_ANFRAGE][MSGNEXT_ANFRAGE] </td></tr>
|
<tr><td>Nächste Anfragenummer:</td><td>[NEXT_ANFRAGE][MSGNEXT_ANFRAGE] </td></tr>
|
||||||
<tr><td>Nächste Proformarechnungsnummer:</td><td>[NEXT_PROFORMARECHNUNG][MSGNEXT_PROFORMARECHNUNG] </td></tr>
|
<tr><td>Nächste Proformarechnungsnummer:</td><td>[NEXT_PROFORMARECHNUNG][MSGNEXT_PROFORMARECHNUNG] </td></tr>
|
||||||
<tr><td>Nächste Verbindlichkeitsnummer:</td><td>[NEXT_VERBINDLICHKEIT][MSGNEXT_VERBINDLICHKEIT] </td></tr>
|
<tr><td>Nächste Verbindlichkeitsnummer:</td><td>[NEXT_VERBINDLICHKEIT][MSGNEXT_VERBINDLICHKEIT] </td></tr>
|
||||||
<tr><td>Nächste Lieferantengutschriftsnummer:</td><td>[NEXT_LIEFERANTENGUTSCHRIFT][MSGNEXT_LIEFERANTENGUTSCHRIFT] </td></tr>
|
|
||||||
<tr><td>Nächste Warenbuchungsbelegnummer:</td><td>[NEXT_GOODSPOSTINGDOCUMENT][MSGNEXT_GOODSPOSTINGDOCUMENT] </td></tr>
|
<tr><td>Nächste Warenbuchungsbelegnummer:</td><td>[NEXT_GOODSPOSTINGDOCUMENT][MSGNEXT_GOODSPOSTINGDOCUMENT] </td></tr>
|
||||||
<tr><td>Nächste Kundennummer:</td><td>[NEXT_KUNDENNUMMER][MSGNEXT_KUNDENNUMMER] </td></tr>
|
<tr><td>Nächste Kundennummer:</td><td>[NEXT_KUNDENNUMMER][MSGNEXT_KUNDENNUMMER] </td></tr>
|
||||||
<tr><td>Nächste Lieferantenummer:</td><td>[NEXT_LIEFERANTENNUMMER][MSGNEXT_LIEFERANTENNUMMER] </td></tr>
|
<tr><td>Nächste Lieferantenummer:</td><td>[NEXT_LIEFERANTENNUMMER][MSGNEXT_LIEFERANTENNUMMER] </td></tr>
|
||||||
|
|
|
||||||
|
|
@ -235,9 +235,6 @@ class WidgetProjekt extends WidgetGenProjekt
|
||||||
$field = new HTMLInput("next_verbindlichkeit","text","",40);
|
$field = new HTMLInput("next_verbindlichkeit","text","",40);
|
||||||
$field->readonly="readonly";
|
$field->readonly="readonly";
|
||||||
$this->form->NewField($field);
|
$this->form->NewField($field);
|
||||||
$field = new HTMLInput("next_lieferantengutschrift","text","",40);
|
|
||||||
$field->readonly="readonly";
|
|
||||||
$this->form->NewField($field);
|
|
||||||
$field = new HTMLInput("next_kundennummer","text","",40);
|
$field = new HTMLInput("next_kundennummer","text","",40);
|
||||||
$field->readonly="readonly";
|
$field->readonly="readonly";
|
||||||
$this->form->NewField($field);
|
$this->form->NewField($field);
|
||||||
|
|
|
||||||