Compare commits

...

35 Commits

Author SHA1 Message Date
felix 4b9bc8754b www/themes/new/templates/loginpage.tpl aktualisiert 2024-03-02 17:13:58 +01:00
felix 980b4d3056 www/themes/new/templates/loginpage.tpl aktualisiert 2024-03-02 17:10:16 +01:00
felix 602bd21f99 www/themes/new/templates/loginpage.tpl aktualisiert 2024-03-02 17:07:46 +01:00
felix 4e8c12b631 Dateien nach "www/themes/new/templates" hochladen 2024-03-02 17:04:28 +01:00
felix aff20577d0 www/themes/new/templates/sidebar_logo.svg gelöscht 2024-03-02 17:04:04 +01:00
felix 212789faa9 Dateien nach "www/themes/new/templates" hochladen 2024-03-02 16:58:49 +01:00
felix 3aba261ba3 www/themes/new/templates/sidebar_logo.svg gelöscht 2024-03-02 16:58:26 +01:00
felix e45e783d39 DBXE Rebranding 2024-03-02 16:55:47 +01:00
felix 962529cbc9 DBXE Rebranding
_old Suffix hinzugefügt
2024-03-02 16:54:55 +01:00
felix 93b1f8d61a upgrade/data/remote.json aktualisiert 2024-03-02 16:33:35 +01:00
felix a05d497774 upgrade/data/remote.json aktualisiert
http -> https
2024-03-02 16:22:01 +01:00
felix 7d4138dd18 DBXE Rebranding 2024-03-02 16:15:07 +01:00
felix d0f53eb1f4 DBXE Rebranding
_old Suffix hinzugefügt
2024-03-02 16:13:48 +01:00
felix d5de8365ee version.php aktualisiert 2024-02-25 11:19:42 +01:00
felix 12cf3f7767 DBXE Rebranding 2024-02-25 11:16:57 +01:00
felix b8f1efbe12 DBXE Rebranding 2024-02-25 11:13:28 +01:00
felix 5a040d69da Update Remote Pfad geändert 2024-02-23 10:29:12 +01:00
felix d69b2fb342 DBXE Rebranding 2024-02-23 10:28:32 +01:00
felix 70b7a63694 DBXE Rebranding 2024-02-23 09:47:00 +01:00
felix 50e232cae7 DBXE Rebranding 2024-02-23 09:46:38 +01:00
felix 0f06a5838d DBXE Rebranding 2024-02-23 09:39:26 +01:00
felix e297ff8669 DBXE Rebranding 2024-02-23 09:39:17 +01:00
felix cffe00216c www/themes/new/templates/sidebar.tpl aktualisiert 2024-02-23 09:38:42 +01:00
felix 051a0805b9 DBXE Rebranding 2024-02-23 09:37:56 +01:00
felix 3d0210dc6d DBXE Rebranding 2024-02-23 09:24:00 +01:00
felix c99958525e DBXE Rebranding 2024-02-23 09:22:59 +01:00
felix 308c2aefa8 DBXE Rebranding 2024-02-23 09:19:52 +01:00
felix 925b8bf56e DBXE Rebranding 2024-02-23 09:19:05 +01:00
felix 5adc7458b2 DBXE Rebranding 2024-02-23 09:15:28 +01:00
felix e7af1e1164 VERSION aktualisiert 2024-02-23 09:14:35 +01:00
felix 29f8fe38ca DBXE Rebranding 2024-02-23 09:13:23 +01:00
felix 0ef8c498a2 DBXE Rebranding 2024-02-23 09:10:19 +01:00
root cf266fb4aa Aenderungen an Loginpage 2024-02-23 08:40:16 +01:00
root 8b8474e6eb Aenderungen an Loginpage 2024-02-23 08:33:15 +01:00
felix 8b43c9c08d www/pages/upgrade.php aktualisiert
Auskommentierung wieder entfernt, da Datenbankupgrade nicht möglich ist und Klick auf "Upgrade" zu Fehlern führt.
2024-02-22 18:38:24 +01:00
19 changed files with 7184 additions and 6796 deletions

View File

@ -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 : 'OpenXE: Es ist ein unerwarteter Fehler aufgetreten!'; $this->title = !empty($title) ? (string)$title : 'DBXE: Es ist ein unerwarteter Fehler aufgetreten!';
} }

View File

@ -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);
/* OpenXE 2024-01-24 für datatablelabel */ /* DBXE 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,7 +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);
/* OpenXE 2024-01-24 für datatablelabel */ /* DBXE 2024-01-24 für datatablelabel */
/* OpenXE 2024-02-03 für belegvorlagen */ /* OpenXE 2024-02-03 für belegvorlagen */
INSERT INTO `hook` (`name`, `aktiv`, `parametercount`, `alias`, `description`) VALUES INSERT INTO `hook` (`name`, `aktiv`, `parametercount`, `alias`, `description`) VALUES
@ -16780,7 +16780,7 @@ INSERT INTO `hook_register` (`hook_action`, `function`, `aktiv`, `position`, `ho
(0, 'Belegevorlagenajax_filter_hook1', 1, 2, (SELECT id FROM hook WHERE name = 'ajax_filter_hook1' 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) (0, 'BelegevorlagenBelegPositionenButtons', 1, 2, (SELECT id FROM hook WHERE name = 'BelegPositionenButtons' LIMIT 1), 'belegevorlagen', 0)
; ;
/* OpenXE 2024-02-03 für belegvorlagen */ /* DBXE 2024-02-03 für belegvorlagen */
/* /*
BelegPositionenButtons BelegPositionenButtons
@ -18210,7 +18210,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 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&amp;action=edit" target="_blank"> Firmendaten</a> (dort richten Sie Ihr Briefpapier ein)</li>\n<li> <a href="index.php?module=adresse&amp;action=list" target="_blank"> Stammdaten / Adressen</a> (Kunden und Lieferanten anlegen)</li>\n<li> <a href="index.php?module=artikel&amp;action=list" target="_blank"> Artikel anlegen</a> (Ihr Artikelstamm)</li>\n<li> <a href="index.php?module=angebot&amp;action=list" target="_blank"> Angebot</a> / <a href="index.php?module=auftrag&amp;action=list" target="_blank"> Auftrag</a> (Alle Dokumente für Ihr Geschäft)</li>\n<li> <a href="index.php?module=rechnung&amp;action=list" target="_blank"> Rechnung</a> / <a href="index.php?module=gutschrift&amp;action=list" target="_blank"> Gutschrift</a></li>\n<li> <a href="index.php?module=lieferschein&amp;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&amp;action=list" target="_blank"> Kalender</a></li>\n<li> <a href="index.php?module=wiki&amp;action=list" target="_blank"> Wiki</a></li>\n</ul>', NULL); (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&amp;action=edit" target="_blank"> Firmendaten</a> (dort richten Sie Ihr Briefpapier ein)</li>\n<li> <a href="index.php?module=adresse&amp;action=list" target="_blank"> Stammdaten / Adressen</a> (Kunden und Lieferanten anlegen)</li>\n<li> <a href="index.php?module=artikel&amp;action=list" target="_blank"> Artikel anlegen</a> (Ihr Artikelstamm)</li>\n<li> <a href="index.php?module=angebot&amp;action=list" target="_blank"> Angebot</a> / <a href="index.php?module=auftrag&amp;action=list" target="_blank"> Auftrag</a> (Alle Dokumente für Ihr Geschäft)</li>\n<li> <a href="index.php?module=rechnung&amp;action=list" target="_blank"> Rechnung</a> / <a href="index.php?module=gutschrift&amp;action=list" target="_blank"> Gutschrift</a></li>\n<li> <a href="index.php?module=lieferschein&amp;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&amp;action=list" target="_blank"> Kalender</a></li>\n<li> <a href="index.php?module=wiki&amp;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

View File

@ -1,4 +1,4 @@
{ {
"host": "https://github.com/openxe-org/openxe.git", "host": "http://repo.dbxe.de/dbxe/dbxe.git",
"branch": "master" "branch": "master"
} }

View File

@ -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("--------------- OpenXE upgrade ---------------\n"); echo_out("--------------- DBXE 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("OpenXE upgrade tool\n"); echo_out("DBXE upgrade tool\n");
echo_out("Copyright 2022 (c) OpenXE project\n"); echo_out("Copyright 2024 (c) DBXE 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");

View File

@ -1,7 +1,7 @@
<?php <?php
$version="OSS"; $version="OSS";
$version_revision="1.11"; $version_revision="1.0.2";
$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).")";

File diff suppressed because it is too large Load Diff

View File

@ -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>{|OpenXE Upgrade-System|}</legend> <legend>{|DBXE Upgrade-System|}</legend>
Das Upgrade funktioniert in 2 Schritten: Dateien aktualisieren, Datenbank auffrischen. Wenn das Upgrade lange l&auml;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&auml;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&ouml;schen und das Upgrade in der Konsole erneut durchf&uuml;hren. Falls nach einem Abbruch oder schwerwiegenden Fehler kein Upgrade möglich ist, im Hauptordner den Ordner ".git" l&ouml;schen und das Upgrade in der Konsole erneut durchf&uuml;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>OpenXE [CURRENT]</b> <b>DBXE [CURRENT]</b>
</table> </table>
</fieldset> </fieldset>
</div> </div>

View File

@ -1,7 +1,7 @@
<?php <?php
/* /*
* Copyright (c) 2022 OpenXE project * Copyright (c) 2024 DBXE project
*/ */
use Xentral\Components\Database\Exception\QueryFailureException; use Xentral\Components\Database\Exception\QueryFailureException;
@ -295,7 +295,7 @@ $width = array('10%'); // Fill out manually later
$result[0]['angezeigtername'], $result[0]['angezeigtername'],
array($result[0]['email']), array($result[0]['email']),
array($result[0]['angezeigtername']), array($result[0]['angezeigtername']),
'OpenXE ERP: Testmail', 'DBXE ERP: Testmail',
'Dies ist eine Testmail für Account "'.$result[0]['email'].'".', 'Dies ist eine Testmail für Account "'.$result[0]['email'].'".',
'',0,false,'','', '',0,false,'','',
true true

View File

@ -3,7 +3,7 @@
/* /*
* Copyright (c) 2022 OpenXE project * Copyright (c) 2022 OpenXE project
*/ */
/* AUSKOMMENTIERT FB
use Xentral\Components\Database\Exception\QueryFailureException; use Xentral\Components\Database\Exception\QueryFailureException;
class upgrade { class upgrade {
@ -22,7 +22,7 @@ class upgrade {
public function Install() { public function Install() {
/* Fill out manually later */ /* Fill out manually later */
} }
/* AUSKOMMENTIERT FB
function upgrade_overview() { function upgrade_overview() {
$submit = $this->app->Secure->GetPOST('submit'); $submit = $this->app->Secure->GetPOST('submit');
@ -120,4 +120,4 @@ class upgrade {
} }
AUSKOMMENTIERT FB */

File diff suppressed because it is too large Load Diff

View File

@ -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&ouml;nnen: Tragen Sie folgendes Script in ihrer crontab ein:</p> <p>Um den Prozessstarter nutzen zu k&ouml;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&uuml;hren"; $error = "Konnte '$value' nicht ausf&uuml;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\">&nbsp;$text</label>"; $input = "<label><input type=\"checkbox\" name=\"$name\" value=\"$fvalue\">&nbsp;$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>OpenXE Installer</title> <title>DBXE Installer</title>
</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\"> </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\">
{$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>
OpenXE is free open source software under AGPL/EGPL license, based on <a href=\"https://xentral.com\" target=\"_blank\">Xentral®</a> by Xentral&nbsp;ERP&nbsp;Software&nbsp;GmbH.</p></div> DBXE is free open source software under AGPL/EGPL license, based on OpenXE, <a href=\"https://xentral.com\" target=\"_blank\">Xentral®</a> by Xentral&nbsp;ERP&nbsp;Software&nbsp;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;
} }
?> ?>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,92 @@
<?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>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -25,11 +25,11 @@
</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 [FIRMENNAME]<br/> Willkommen beim ERP von <b>[FIRMENNAME] </b><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>

View File

@ -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>OpenXE - Passwort vergessen</title> <title>DBXE - 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">
&copy; [YEAR] OpenXE-org & Xentral ERP Software GmbH &copy; [YEAR] DBXE & OpenXE-org & Xentral ERP Software GmbH
</div> </div>
</div> </div>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,18 +1,19 @@
<!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>OpenXE Login</h1> <h1>DBXE Login</h1>
<p class="error">Sie haben nicht das Recht auf diese Seite zugreifen zu d&uuml;rfen!</p> <p class="error">Sie haben nicht das Recht auf diese Seite zugreifen zu d&uuml;rfen!</p>
<p><a href="BACK" class="btn btn-primary">Zur&uuml;ck zur vorherigen Seite</a></p> <p><a href="BACK" class="btn btn-primary">Zur&uuml;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>
</div> <p>Sie benötigen diesen Zugriff? Bitten Sie um Freigabe unter zugriff@dbxe.de</p>
</body> </div>
</html> </body>
</html>

View File

@ -10,7 +10,7 @@
</svg> </svg>
</div> </div>
<a class="logo-index" href="index.php" title="OpenXE"> <a class="logo-index" href="index.php" title="DBXE">
[SIDEBARLOGO] [SIDEBARLOGO]
</a> </a>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,93 @@
<?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>

After

Width:  |  Height:  |  Size: 2.7 KiB