diff --git a/wrenchboard/src/shared_tool/account_mngt.cc b/wrenchboard/src/shared_tool/account_mngt.cc index e142feaa..13d20e24 100644 --- a/wrenchboard/src/shared_tool/account_mngt.cc +++ b/wrenchboard/src/shared_tool/account_mngt.cc @@ -715,7 +715,8 @@ long CreateWrenchBoardAccountPending(CVars in, CVars &out) { try { - if ( load_db_record(out, "SELECT id AS pending_id, expire>now() AS expire,remind_count,now() > updated+'90 minutes' AS remind FROM members_pending WHERE LOWER(username)=LOWER('%s')",in["username"].c_str()) > 0 ){ + if ( load_db_record(out, "SELECT id AS pending_id, expire < now() AS expire,remind_count,now() > updated+'90 minutes' AS remind FROM members_pending WHERE LOWER(username)=LOWER('%s')",in["username"].c_str()) > 0 ){ + ret = out["pending_id"].Long(); if (out["remind"]=="t" ){ if (in["mobile"] != "" && in["mobile"] == "MOBILE") { @@ -725,16 +726,19 @@ long CreateWrenchBoardAccountPending(CVars in, CVars &out) { } else { AccountPendingMail(out); } - ret = out["pending_id"].Long(); + } + + if (out["expire"]=="f" ){ load_db_record(out, "SELECT *,id AS pending_id FROM members_pending WHERE id=%lu LIMIT 1", ret); out["signup_random"] ="REMOVED"; out["verify_link"] ="REMOVED"; pgsql_query("UPDATE members_pending SET remind_count = remind_count+1 WHERE id = %lu", ret); return ret; - } + } + pgsql_query("UPDATE members_pending SET username = '%lu'||'-'||username WHERE id = %lu", ret, ret); out["password"]="REMOVED"; - out["acc"]="DULPICATE"; + out["acc"]="EXPIRED"; return PHP_API_BAD_PARAM; } if ( load_db_record(out, "SELECT uid FROM members WHERE LOWER(username)=LOWER('%s')",in["username"].c_str())> 0 ){