Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function createAccount($user, $pw, $repeat, $email, $invitecode = '', $override = false){
- $s = true;
- if(!$override)
- // general
- if(empty($user) || empty($pw) || empty($repeat) || empty($email)){
- self::addOutput("Fehler|Du musst alle Felder ausüllen");
- $s = false;
- }
- if($user == $pw){
- self::addOutput("Fehler|Dein Passwort darf nicht mit deinem Benutzernamen identisch sein.");
- $s = false;
- }
- // Name
- if(self::checkname($user) !== true){
- self::addOutput("Fehler|Name fehlerhaft oder in Verwendung.<br>Mindestens 3 Zeichen - Maximal 12 Zeichen<br>Erlaubte Zeichen: a-z A-Z 0-9");
- $s = false;
- }
- // pw
- if($pw != $repeat){
- self::addOutput("Fehler|Passwรถrter stimmen nicht überein");
- $s = false;
- }
- if(strlen($pw) > 50 || strlen($pw) < 8){
- self::addOutput("Fehler|Passwortlänge fehlerhaft.<br>Mindestens 8 Zeichen - Maximal 50 Zeichen");
- $s = false;
- }
- //email
- $qry = $this->con->prepare('SELECT email FROM users WHERE email = :mail');
- $qry->bindParam(':mail', $email, PDO::PARAM_STR);
- $qry->execute();
- if($qry->rowCount () != 0){
- self::addOutput("Fehler|Mail-Adresse wird verwendet");
- $s = false;
- }
- if (self::validate_email($email) != true) {
- self::addOutput("Fehler|Mail-Adresse scheint ungültig zu sein");
- $s = false;
- }
- // invite // TODO
- if($this->invite_only === true && empty($invitecode)){
- self::addOutput("Fehler|Du hast keinen Invitecode eingegeben");
- $s = false;
- }elseif($this->invite_only === false){
- $invitecode = 'nocode';
- }
- if($s){
- //process data
- $passhash = md5($pw);
- $time = self::getTS();
- //insert new user
- $qry = $this->con->prepare("INSERT INTO users (`name`, `email`, `passhash`, `invitecode`, `registration_ts`)
- VALUES (:name, :email, :passhash, :invitecode, :rts)");
- $qry->bindParam(':name', $user, PDO::PARAM_STR);
- $qry->bindParam(':email', $email, PDO::PARAM_STR);
- $qry->bindParam(':passhash', $passhash, PDO::PARAM_STR);
- $qry->bindParam(':invitecode', $invitecode, PDO::PARAM_STR);
- $qry->bindParam(':rts', $time, PDO::PARAM_INT);
- if($qry->execute()){
- self::addOutput("Erfolg|Account wurde angelegt", false);
- self::setNextPage("homeinternal",3);
- }else{
- self::addOutput("Fehler|Account konnte nicht angelegt werden");
- self::setNextPage("home",3);
- }
- }else{
- self::setNextPage("home");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement