-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathsettings.php
More file actions
332 lines (298 loc) · 12.3 KB
/
settings.php
File metadata and controls
332 lines (298 loc) · 12.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
<?php
session_start();
require_once( "inc/config.inc.php" );
require_once( "inc/functions.inc.php" );
//Überprüfe, dass der User eingeloggt ist
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
$user = check_user();
$company = getCompany();
$site_title = "Einstellungen";
include "inc/header.inc.php";
if ( isset( $_GET['save'] ) ) {
$save = $_GET['save'];
switch ($save) {
case 'personal_data':
$vorname = trim( $_POST['vorname'] );
$nachname = trim( $_POST['nachname'] );
if ( $vorname == "" || $nachname == "" ) {
$error_msg = "Bitte Vor- und Nachname ausfüllen.";
} else {
$statement = $pdo->prepare( "UPDATE users SET vorname = :vorname, nachname = :nachname, updated_at=NOW() WHERE id = :userid" );
$result = $statement->execute( array(
'vorname' => $vorname,
'nachname' => $nachname,
'userid' => $user['id']
));
$success_msg = "Daten erfolgreich gespeichert.";
}
break;
case 'email':
$passwort = $_POST['passwort'];
$email = trim( $_POST['email'] );
$email2 = trim( $_POST['email2'] );
if ( $email != $email2 ) {
$error_msg = "Die eingegebenen E-Mail-Adressen stimmten nicht überein.";
} else if ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
$error_msg = "Bitte eine gültige E-Mail-Adresse eingeben.";
} else if ( ! password_verify( $passwort, $user['passwort'] ) ) {
$error_msg = "Bitte korrektes Passwort eingeben.";
} else {
$statement = $pdo->prepare( "UPDATE users SET email = :email WHERE id = :userid" );
$result = $statement->execute( array( 'email' => $email, 'userid' => $user['id'] ) );
$success_msg = "E-Mail-Adresse erfolgreich gespeichert.";
}
break;
case 'passwort':
$passwortAlt = $_POST['passwortAlt'];
$passwortNeu = trim( $_POST['passwortNeu'] );
$passwortNeu2 = trim( $_POST['passwortNeu2'] );
if ( $passwortNeu != $passwortNeu2 ) {
$error_msg = "Die eingegebenen Passwörter stimmten nicht überein.";
} else if ( $passwortNeu == "" ) {
$error_msg = "Das Passwort darf nicht leer sein.";
} else if ( ! password_verify( $passwortAlt, $user['passwort'] ) ) {
$error_msg = "Bitte korrektes Passwort eingeben.";
} else {
$passwort_hash = password_hash( $passwortNeu, PASSWORD_DEFAULT );
$statement = $pdo->prepare( "UPDATE users SET passwort = :passwort WHERE id = :userid" );
$result = $statement->execute( array( 'passwort' => $passwort_hash, 'userid' => $user['id'] ) );
$success_msg = "Passwort erfolgreich gespeichert.";
}
break;
case 'name_g':
$name_g = $_POST['name_g'];
if ($name_g) {
$statement = $pdo->prepare("UPDATE company SET name = :name_g");
$statement->execute(array('name_g' => $name_g));
$success_msg = "Firmennamen erfolgreich gespeichert.";
} else {
$error_msg = "Bitte geben sie einen Firmennamen an.";
}
break;
case 'adress':
$street = $_POST['street'];
$number = $_POST['number'];
$postcode = $_POST['postcode'];
$city = $_POST['city'];
$state = $_POST['state'];
if (! empty ( $street ) && ! empty ( $number) && ! empty ( $postcode) && ! empty ( $city) && ! empty ( $state ) ) {
$statement = $pdo->prepare("UPDATE company SET street = :street, number = :number, postcode = :postcode, city = :city, state = :state");
$statement->execute(array('street' => $street, 'number' => $number, 'postcode' => $postcode, 'city' => $city, 'state' => $state));
$success_msg = "Adresse erfolgreich gespeichert.";
} else {
$error_msg = "Bitte geben sie eine vollständige Adresse an.";
}
break;
case 'contact':
$email = $_POST['email'];
$tel = $_POST['tel'];
if (! empty ( $email ) && ! empty ( $tel) ) {
$statement = $pdo->prepare("UPDATE company SET email = :email, tel = :tel");
$statement->execute(array('email' => $email, 'tel' => $tel));
$success_msg = "Kontaktdaten erfolgreich gespeichert.";
} else {
$error_msg = "Bitte geben sie vollständige Daten an.";
}
break;
case 'logo':
$logo = $_POST['logo'];
if ($logo) {
$statement = $pdo->prepare("UPDATE company SET logo = :logo");
$statement->execute(array('logo' => $logo));
$success_msg = "Pfad zum Logo erfolgreich gespeichert.";
} else {
$error_msg = "Bitte geben sie einen gültigen Pfad an.";
}
break;
default:
// code...
break;
}
}
$user = check_user();
$company = getCompany();
?>
<h1 class="<?php echo $site_color_accent_text; ?>">Einstellungen</h1>
<?php
if ( isset( $success_msg ) && ! empty( $success_msg ) ):
?>
<script>
M.toast({html: '<i class="material-icons">check</i> <?=$success_msg?>'});
</script>
<?php
endif;
?>
<?php
if ( isset( $error_msg ) && ! empty( $error_msg ) ):
?>
<script>
M.toast({html: '<i class="material-icons">error_outline</i> <?=$error_msg?>'});
</script>
<?php
endif;
?>
<div class="row">
<div class="col s12 m4">
<h3>Persönliche Einstellungen</h3>
<p>Ändern Sie Ihren Namen, Ihr Passwort und Ihre E-Mail-Adresse</p>
</div>
<div class="col s12 m8">
<ul class="collapsible">
<li>
<div class="collapsible-header"><i class="material-icons">account_circle</i>Name</div>
<div class="collapsible-body">
<form action="?save=personal_data" method="post" class="col s12">
<p>Zum Änderen ihres Namens geben sie bitte den neuen, sowie ihre E-Mail-Adresse ein.</p>
<div class="input-field col s12 m6">
<input class="validate" id="inputVorname" name="vorname" type="text"
value="<?php echo htmlentities( $user['vorname'] ); ?>" required>
<label for="inputVorname">Vorname</label>
</div>
<div class="input-field col s12 m6">
<input class="validate" id="inputNachname" name="nachname" type="text"
value="<?php echo htmlentities( $user['nachname'] ); ?>" required>
<label for="inputNachname">Nachname</label>
</div>
<div class="input-field col s12 m6">
<input class="validate" id="inputEmail" name="email" type="email"
value="<?php echo htmlentities( $user['email'] ); ?>" required>
<label for="inputEmail">E-Mail</label>
</div>
<button type="submit" class="<?=$site_color_accent?> btn btn-primary col s12 m6 btn-large">Speichern</button>
</form>
</div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">email</i>E-Mail-Adresse</div>
<div class="collapsible-body">
<form action="?save=email" method="post" class="col s12">
<p>Zum Ändern Ihrer E-Mail-Adresse geben Sie bitte Ihr aktuelles Passwort sowie die neue E-Mail-Adresse
ein.</p>
<div class="input-field col s12">
<input class="validate" id="inputPasswort" name="passwort" type="password" required>
<label for="inputPasswort">Passwort</label>
</div>
<div class="input-field col s12 m6">
<input class="validate" id="inputEmail" name="email" type="email"
value="<?php echo htmlentities( $user['email'] ); ?>" required>
<label for="inputEmail">E-Mail</label>
</div>
<div class="input-field col s12 m6">
<input class="validate" id="inputEmail2" name="email2" type="email" required>
<label for="inputEmail2">E-Mail (wiederholen)</label>
</div>
<button type="submit" class="<?=$site_color_accent?> btn btn-primary col s12 btn-large">Speichern</button>
</form>
</div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">security</i>Passwort</div>
<div class="collapsible-body">
<form action="?save=passwort" method="post" class="col s12">
<p>Zum Änderen Ihres Passworts geben Sie bitte Ihr aktuelles Passwort sowie das neue Passwort ein.</p>
<div class="input-field col s12">
<input class="validate" id="inputPasswort" name="passwortAlt" type="password" required>
<label for="inputPasswort">Altes Passwort</label>
</div>
<div class="input-field col s12 m6">
<input class="validate" id="inputPasswortNeu" name="passwortNeu" type="password" required>
<label for="inputPasswortNeu">Neues Passwort</label>
</div>
<div class="input-field col s12 m6">
<input class="validate" id="inputPasswortNeu2" name="passwortNeu2" type="password" required>
<label for="inputPasswortNeu2">Neues Passwort (wiederholen)</label>
</div>
<button type="submit" class="<?=$site_color_accent?> btn btn-primary col s12 btn-large">Speichern</button>
</form>
</div>
</li>
</ul>
</div>
</div>
<div class="row">
<div class="col s12 m4">
<h3>Einstellungen des Betriebes</h3>
<p>Ändern Sie Namen, Adresse und weiter Daten ihres Bertriebes</p>
</div>
<div class="col s12 m8">
<ul class="collapsible">
<li>
<div class="collapsible-header"><i class="material-icons">store</i>Name des Betriebes</div>
<div class="collapsible-body">
<form action="?save=name_g" method="post" class="col s12">
<div class="input-field col s12">
<input class="validate" id="id" name="name_g" type="text" required value="<?=$company['name']?>">
<label for="id">Firmenname</label>
</div>
<button type="submit" class="<?=$site_color_accent?> btn btn-primary col s12 btn-large">Speichern</button>
</form>
</div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">location_on</i>Adresse</div>
<div class="collapsible-body">
<form action="?save=adress" method="post" class="col s12">
<div class="input-field col s10">
<input class="validate" id="id" name="street" type="text" required value="<?=$company['street']?>">
<label for="id">Straße</label>
</div>
<div class="input-field col s2">
<input class="validate" id="id" name="number" type="text" required value="<?=$company['number']?>">
<label for="id">Hausnummer</label>
</div>
<div class="input-field col s4">
<input class="validate" id="id" name="postcode" type="text" required value="<?=$company['postcode']?>">
<label for="id">Postleitzahl</label>
</div>
<div class="input-field col s4">
<input class="validate" id="id" name="city" type="text" required value="<?=$company['city']?>">
<label for="id">Stadt</label>
</div>
<div class="input-field col s4">
<input class="validate" id="id" name="state" type="text" required value="<?=$company['state']?>">
<label for="id">Land</label>
</div>
<button type="submit" class="<?=$site_color_accent?> btn btn-primary col s12 btn-large">Speichern</button>
</form>
</div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">contact_mail</i>Kontakt</div>
<div class="collapsible-body">
<form action="?save=contact" method="post" class="col s12">
<div class="input-field col s12">
<input class="validate" id="id" name="email" type="email" required value="<?=$company['email']?>">
<label for="id">E-Mail-Adresse</label>
</div>
<div class="input-field col s12">
<input class="validate" id="id" name="tel" type="tel" required value="<?=$company['tel']?>">
<label for="id">Telefonnummer</label>
</div>
<button type="submit" class="<?=$site_color_accent?> btn btn-primary col s12 btn-large">Speichern</button>
</form>
</div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">image</i>Logo</div>
<div class="collapsible-body">
<form action="?save=logo" method="post" class="col s12">
<div class="input-field col s12">
<input class="validate" id="id" name="logo" type="text" required value="<?=$company['logo']?>">
<label for="id">Pfad zum Logo</label>
</div>
<button type="submit" class="<?=$site_color_accent?> btn btn-primary col s12 btn-large">Speichern</button>
</form>
</div>
</li>
</div>
</div>
<?php
include( "inc/footer.inc.php" )
?>