1 package org.cacert.gigi;
3 import java.sql.PreparedStatement;
4 import java.sql.ResultSet;
5 import java.sql.SQLException;
8 import org.cacert.gigi.database.DatabaseConnection;
9 import org.cacert.gigi.util.PasswordHash;
14 Name name = new Name(null, null);
22 PreparedStatement ps = DatabaseConnection.getInstance().prepare(
23 "SELECT `fname`, `lname`, `dob`, `email` FROM `users` WHERE id=?");
25 ResultSet rs = ps.executeQuery();
27 name = new Name(rs.getString(1), rs.getString(2));
29 email = rs.getString(4);
32 } catch (SQLException e) {
41 public String getFname() {
44 public String getLname() {
47 public String getMname() {
50 public Name getName() {
53 public void setMname(String mname) {
54 this.name.mname = mname;
56 public String getSuffix() {
59 public void setSuffix(String suffix) {
60 this.name.suffix = suffix;
62 public Date getDob() {
65 public void setDob(Date dob) {
68 public String getEmail() {
71 public void setEmail(String email) {
74 public void setId(int id) {
77 public void setFname(String fname) {
78 this.name.fname = fname;
80 public void setLname(String lname) {
81 this.name.lname = lname;
83 public void insert(String password) throws SQLException {
85 throw new Error("refusing to insert");
87 PreparedStatement query = DatabaseConnection.getInstance().prepare(
88 "insert into `users` set `email`=?, `password`=?, "
89 + "`fname`=?, `mname`=?, `lname`=?, "
90 + "`suffix`=?, `dob`=?, `created`=NOW(), locked=0");
91 query.setString(1, email);
92 query.setString(2, PasswordHash.hash(password));
93 query.setString(3, name.fname);
94 query.setString(4, name.mname);
95 query.setString(5, name.lname);
96 query.setString(6, name.suffix);
97 query.setDate(7, new java.sql.Date(dob.getTime()));
99 id = DatabaseConnection.lastInsertId(query);
100 System.out.println("Inserted: " + id);