Files
adminandClaude Opus 5 e2124220e5 Initialer Commit: Kundenverwaltung (PHP/Smarty)
Bestehende Codebasis als Ausgangsstand aufgenommen.

- .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache
  (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen;
  Verzeichnisstruktur ueber .gitkeep erhalten
- .gitattributes: Zeilenenden normalisiert (LF im Repo),
  Binaerformate markiert
- db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der
  Anwendung aus der externen Konfiguration statt hartkodiert aus der
  Datei; Passwort wird ueber eine temporaere Optionsdatei statt per
  Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet,
  Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 16:41:18 +02:00

80 lines
7.9 KiB
Smarty

<div class="setupdiv">
<form method="POST" id="mainform" action="?action=setup&amp;formsent=1" enctype="multipart/form-data">
<div class="textbox">
<p>
Das ist das erste mal, dass sie die Kundenverwaltung starten. <br />
Bitte machen Sie die folgenden Angaben, damit das Programm richtig arbeiten kann.
</p>
<p>
Nachdem alle Angaben ordnungsgemäß gemacht wurden wird das Setup folgende Sritte durchführen: <br />
<ol>
<li>Verbindung zu Datenbanken prüfen</li>
<li>Die Grundlegende Datenbankstruktur erstellen. </li>
<li>Die Datenbank mit nötigen Standartwerten füllen</li>
<li>Eventuell vorhandene SKS Daten (dBase) einlesen</li>
<li>Auf eine neuere Version der Kundenverwaltung updaten</li>
<li>Eventuell vorhandene Datensicherung dieser Version einlesen</li>
<li>Auf die aktuellste Version der Kundenverwaltung updaten</li>
<li>Den Super User anlegen</li>
</ol>
Mit diesem Benutzer können Sie sich nach Ende des Setups direkt am Programm anmelden und alle weiteren Einstellungen vornehmen.
</p>
</div>
{if $permissionerror}
<div class="error">Ins Kunfigurationsverzeichnis kann nicht geschrieben werden, bitte ändern sie für die Installation die Rechte auf chmod 777 /kundenverwaltung/config.</div>
{/if}
<div class="warning">Vergessen Sie nicht das Verzeichnis nach der Installation <b>gegen änderungen zu sichern</b> (Schreibrechte entfernen <b>chmod 555 /kundenverwaltung/config</b>)!!</div>
<fieldset>
<legend>Allgemeines</legend>
<label>Firma: </label><input type="text" required="required" name="firma" id="firma" value="{$firma|escape|default:"Wagner Markisen"}" title="Bitte geben sie Hier den Firmennamen ein." /><br />
</fieldset>
<fieldset>
<legend>Datenbank Optionen</legend>
<label>Datenbank-Server: </label><input type="text" required="required" name="mysqlserver" id="mysqlserver" value="{$mysqlserver|escape|default:"localhost"}" title="Bitte geben sie Hier die Adresse des Servers an, auf dem die MySQL Datenbank läuft. (localhost, wenn sie auf diesen Server läuft)" /><br />
<label>Leere db für die Kundenverwaltung: </label><input type="text" required="required" name="mysqldb" id="mysqldb" value="{$mysqldb|escape|default:"test"}" title="Hier muss der Name der Datenbank angegeben werden, in der die Tabellen für die Kundenverwaltung angelegt werden sollen." /><br />
<label>opengeodb db (Bereits voll mit Daten): </label><input type="text" required="required" name="opengeodb" id="opengeodb" value="{$opengeodb|escape|default:"opengeodb"}" title="Bitte geben Sie hier den Namen der Datenbank an, inder sich ein vollständiges Abbild der OpenGeoDB befindet." /><br />
<label>MySQL Benutzer: </label><input type="text" required="required" name="mysqluser" id="mysqluser" value="{$mysqluser|escape|default:"root"}" title="Bitte geben Sie den MySQL Benutzernamen hier an. Dieser Benutzer muss mindestens SELECT-Rechte auf die OpenGeoDB-Datenbank, und vollständige Rechte für die Kundenverwaltungs-datenbank haben." /><br />
<label>MySQL Passwort: </label><input type="text" required="required" name="mysqlpw" id="mysqlpw" value="{$mysqlpw|escape|default:"root"}" title="Bitte geben Sie hier das MySQL Passwort passend zum Benutzer an." /><br />
</fieldset>
<fieldset>
<legend>Super User</legend>
<label>Alte Daten und Tabellen löschen, bevor Datenbank neu angelegt wird.</label>
{html_checkboxes name="deletedb" values=1 output="" id="deletedb" selected=$deletedb onChange="checkenable(this.checked,\"suinfo\")" title="Wenn dieses Feld aktiv ist, wird die Datenbank vor dem Anlegen zunächst komplett gelöscht!!"}<br />
<label>Super User Vorname:</label><input type="text" required="required" class="suinfo" name="suvname" id="suvname" value="{$suvname|escape|default:"Moritz"}" x-webkit-speech title="Bitte geben Sie hier den Vollständigen Vornamen des Super Users (Programmverwalters) an." /><br />
<label>Super User Nachname:</label><input type="text" required="required" class="suinfo" name="sunname" id="sunname" value="{$sunname|escape|default:"Wagner"}" x-webkit-speech title="Bitte geben Sie hier den Vollständigen Nachnamen des Super Users (Programmverwalters) an." /><br />
<label>Super User Benutzername:</label><input type="text" required="required" class="suinfo" name="sunick" id="sunick" pattern="^([A-z]|[0-9]){ldelim}2,50{rdelim}" value="{$sunick|escape|default:"m0"}" x-webkit-speech title="Bitte geben Sie hier den gewünschten Anmeldenamen des Super Users (Programmverwalters) an." /><br />
<label>Super User Passwort:</label><input type="text" required="required" class="suinfo" name="newpw" pattern="^(\S){ldelim}6,50{rdelim}" id="newpw" value="" autocomplete="off" onkeyup="chkPass(this.value);" title="Bitte geben Sie hier ein möglichst sicheres Passwort für den Super User an. Vergessen sie dieses niemals!!" /><br />
<div id="pwdscore">
<div id="scorebar">0%</div><div id="complexity">zu kurz</div><br />
</div><br />
<label>Super User E-Mail:</label><input type="email" required="required" class="suinfo" name="sumail" id="sumail" value="{$sumail|escape|default:"m0w1337@gmail.com"}" title="Bitte geben Sie eine sichere E-Mail Adresse des Super Users an, diese wird unter anderem dazu verwendet, neue Passwörter zu generieren, falls eines vergessen wurde." /><br />
</fieldset>
<fieldset>
<legend>Importfunktionen</legend>
<label>Daten von SKS Auftrag importieren:</label>
{html_checkboxes name="importsks" values=1 output="" id="importsks" selected=$importsks onChange="checkenable(this.checked,\"sksim\")" title="Durch wählen dieses Feldes werden direkt nach der Datenbank-Einrichtung alle Daten der Früheren SKS Auftrag Premium für Windows in die Kundenverwaltung eingespielt."}<br />
<div class="warning">Bitte ersetzen Sie alle MEMO felder durch CHAR felder, da die Daten ansonsten nicht importiert werden können!!!<br /><b>Dafür kann das Programm DBF-Explorer verwendet werden.</b></div><br />
<label>ADRESSEN.DBF Datei: </label><input type='file' name='adressen' id='adressen' required='required' class='sksim' title='Hier muss die dBASE datenbank der adressen ausgewählt werden.' /><br />
<label>FAKTU.DBF Datei: </label><input type='file' name='faktu' id='faktu' required='required' class='sksim' title='Hier muss die dBASE datenbank der Fakturierung ausgewählt werden.' /><br />
<label>FPOS.DBF Datei: </label><input type='file' name='fpos' id='fpos' required='required' class='sksim' title='Hier muss die dBASE datenbank der Fakturierungs-positionen ausgewählt werden.' /><br />
<div class='line'></div>
<label>Daten von vorigem Kundenstand importieren:</label>
{html_checkboxes name="importpre" values=1 output="" id="importpre" selected=$importpre onChange="checkenable(this.checked,\"preim\")" title="Durch wählen dieses Feldes werden direkt nach der Datenbank-Einrichtung alle Daten einer Sicherungskopie der Kundenverwaltung eingespielt."}<br />
<div class='warning'>Falls sie eine Datensicherung von einer alten Version der Kundenverwaltung importieren möchten, wählen Sie bitte die entsprechende Version aus der Liste, wird eine falsche angegeben kann der Import fehlschlagen.</div>
<label>Version der Sicherungskopie:</label>
{html_options name=version options=$versions selected=$version required='required' class='preim' title='Bitte wählen Sie hier die Version aus, aus der die Sicherungskopie stammt.'}
</select><br />
<label class='side'>kunden.sql Datei: </label><input type='file' name='adressen' id='adressen' required='required' class='preim' title='Hier bitte die sql-Datei der Datenbanksicherung auswählen, die eingespielt werden soll.' /><br />
</fieldset>
<input type='submit' value='Speichern' id='speichern' name='speichern' />
</form>
<script type='text/javascript' language='javascript'>
checkenable(document.getElementById('importsks').checked,'sksim');
checkenable(document.getElementById('importpre').checked,'preim');
checkenable(document.getElementById('deletedb').checked,'suinfo');
</script>
</div>