/** * 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; } }