setHeaderTitle(_t('Benutzer')); $showInfo = false; $dataUser = json_decode(readFromFile('user'), true); if (isset($_POST['submit']) && $_POST['submit'] != '') { if (isset($_POST['username'], $_POST['password'], $_POST['password2']) && ($pUsername = trim($_POST['username'])) != '' && ($pPassword = $_POST['password']) != '' && ($pPassword2 = $_POST['password2']) != '') { if (preg_match('/^[a-z][a-z0-9\-_]{1,31}$/i', $pUsername) === 1) { $lowerUsername = strtolower($pUsername); if (preg_match('/^[a-z0-9_\-\+\*\/\#.\!\?@\(\)\[\]\{\}\<\>\=\$%&,\|\:~§;]{4,64}$/i', $pPassword) === 1) { if ($pPassword === $pPassword2) { if (($return = writeToFile('user', json_encode(array('username' => $pUsername, 'password' => password_hash($pPassword, PASSWORD_BCRYPT))))) === 0) $showInfo = true; else $tpl->msg('error', _t('Fehler'), _t('Es gab ein Fehler während der Dateioperation! Fehlercode: %s', $return)); } else $tpl->msg('error', _t('Fehler'), _t('Die angegebenen Passwörter stimmen nicht überein!')); } else $tpl->msg('error', _t('Fehler'), _t('Leider ist das Passwort ungültig! Das Passwort muss aus 4 bis 64 Zeichen bestehen und darf nur folgende Zeichen beinhalten: A-Z 0-9 - _ + * / # . ! ? @ ( ) [ ] { } < > = $ %% & , | : ~ § ;')); } else $tpl->msg('error', _t('Fehler'), _t('Leider ist der Benutzername ungültig! Der Benutzername muss aus 2 bis 32 Zeichen bestehen. Das erste Zeichen muss ein Buchstabe sein und es sind nur folgende Zeichen erlaubt: A-Z 0-9 - _')); } else $tpl->msg('error', _t('Fehler'), _t('Bitte alle Felder ausfüllen!')); } if ($showInfo === true) $tpl->draw('install_user_info'); else { if (isset($dataUser['username'], $dataUser['password']) && $dataUser['username'] != '' && $dataUser['password'] != '' && !isset($_POST['submit'])) $tpl->msg('info', _t('Benutzer bereits erstellt'), _t('Es wurde bereits ein Benutzer für das Pi Control erstellt. Du kannst diesen Schritt überspringen oder einfach den aktuellen Benutzer überschreiben, indem du hier einen neuen Benutzer erstellst.', '?s=install_cron'), false); $tpl->draw('install_user'); } ?>