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` FROM `users` WHERE id=?");
25 ResultSet rs = ps.executeQuery();
27 name = new Name(rs.getString(1), rs.getString(2));
31 } catch (SQLException e) {
40 public String getFname() {
43 public String getLname() {
46 public String getMname() {
49 public Name getName() {
52 public void setMname(String mname) {
53 this.name.mname = mname;
55 public String getSuffix() {
58 public void setSuffix(String suffix) {
59 this.name.suffix = suffix;
61 public Date getDob() {
64 public void setDob(Date dob) {
67 public String getEmail() {
70 public void setEmail(String email) {
73 public void setId(int id) {
76 public void setFname(String fname) {
77 this.name.fname = fname;
79 public void setLname(String lname) {
80 this.name.lname = lname;
82 public void insert(String password) throws SQLException {
84 throw new Error("refusing to insert");
86 PreparedStatement query = DatabaseConnection.getInstance().prepare(
87 "insert into `users` set `email`=?, `password`=?, "
88 + "`fname`=?, `mname`=?, `lname`=?, "
89 + "`suffix`=?, `dob`=?, `created`=NOW(), locked=0");
90 query.setString(1, email);
91 query.setString(2, PasswordHash.hash(password));
92 query.setString(3, name.fname);
93 query.setString(4, name.mname);
94 query.setString(5, name.lname);
95 query.setString(6, name.suffix);
96 query.setDate(7, new java.sql.Date(dob.getTime()));
98 id = DatabaseConnection.lastInsertId(query);
99 System.out.println("Inserted: " + id);