X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FUser.java;h=b6086aa9a074fcfe5a407e84ec5bc45437ebde6f;hp=96e0a111670a6161bc55b428efc3216f007a078e;hb=e1628fcef515073d132978e4f0bf8c8e20a3b1cd;hpb=f5d307e518fe8bbe3bf2b52aef9faf61fda6ae77 diff --git a/src/org/cacert/gigi/User.java b/src/org/cacert/gigi/User.java index 96e0a111..b6086aa9 100644 --- a/src/org/cacert/gigi/User.java +++ b/src/org/cacert/gigi/User.java @@ -3,7 +3,8 @@ package org.cacert.gigi; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.Date; +import java.sql.Date; +import java.util.Calendar; import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.util.PasswordHash; @@ -11,7 +12,7 @@ import org.cacert.gigi.util.PasswordHash; public class User { private int id; - Name name = new Name(null, null); + Name name = new Name(null, null, null, null); Date dob; String email; @@ -22,13 +23,14 @@ public class User { PreparedStatement ps = DatabaseConnection .getInstance() .prepare( - "SELECT `fname`, `lname`, `dob`, `email` FROM `users` WHERE id=?"); + "SELECT `fname`, `lname`,`mname`, `suffix`, `dob`, `email` FROM `users` WHERE id=?"); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); if (rs.next()) { - name = new Name(rs.getString(1), rs.getString(2)); - dob = rs.getDate(3); - email = rs.getString(4); + name = new Name(rs.getString(1), rs.getString(2), + rs.getString(3), rs.getString(4)); + dob = rs.getDate(5); + email = rs.getString(6); } rs.close(); } catch (SQLException e) { @@ -154,11 +156,22 @@ public class User { } User s = (User) obj; return name.equals(s.name) && email.equals(s.email) - && dob.equals(s.dob); + && dob.toString().equals(s.dob.toString()); // This is due to + // day cutoff } public int getMaxAssurePoints() throws SQLException { int exp = getExperiencePoints(); int points = 10; + Calendar c = Calendar.getInstance(); + c.setTime(dob); + int year = c.get(Calendar.YEAR); + int month = c.get(Calendar.MONTH); + int day = c.get(Calendar.DAY_OF_MONTH); + c.set(year + 18, month, day); + if (System.currentTimeMillis() < c.getTime().getTime()) { + return points; // not 18 Years old. + } + if (exp >= 10) { points += 5; }