Example #1
0
 /**
  * function register user
  * register and store an user in the database
  * @param array $array [username,password]
  * @param bool $added_avatar
  * @return null|void
  */
 static function register_user($array = [], $added_avatar = false)
 {
     if ($added_avatar) {
         $fetch = Adapter::fetch_object(Adapter::secure_query('SELECT * FROM users WHERE mail = :usermail', [':usermail' => Data::$user_instance->user_email]));
         Adapter::insert_array('users', ['account_created' => time(), 'username' => $array['name'], 'novato' => 1, 'mail' => $fetch->mail, 'password' => $fetch->password]);
         Data::user_create_instance($array['name']);
         return null;
     }
     if (strlen($array['password']) >= 5 && strlen($array['password']) <= 30 && preg_match('`[a-z]`', $array['password']) && preg_match('`[0-9]`', $array['password']) && substr_count($array['password'], ' ') == 0) {
         if (Adapter::row_count(Adapter::secure_query("SELECT * FROM cms_azure_id WHERE mail = :email LIMIT 1", [':email' => $array['email']])) == 0) {
             Adapter::insert_array('cms_azure_id', ['mail' => $array['email']]);
             Adapter::insert_array('users', ['account_created' => time(), 'username' => $array['username'], 'novato' => 1, 'mail' => $array['email'], 'password' => password_hash($array['password'], PASSWORD_BCRYPT)]);
             Mailer::send_nux_mail($array['email']);
             self::user_login($array['username'], $array['password'], 1);
             return;
         } else {
             header('HTTP/1.1 409 Conflict');
             echo '{"error":"registration_email_in_use"}';
             return null;
         }
     } else {
         header('HTTP/1.1 400 Bad Request');
         echo '{"error":"registration_email_in_use"}';
         return null;
     }
 }