diff --git a/wrenchboard/src/shared_tool/account.cc b/wrenchboard/src/shared_tool/account.cc index fa249309..520b2c66 100644 --- a/wrenchboard/src/shared_tool/account.cc +++ b/wrenchboard/src/shared_tool/account.cc @@ -120,6 +120,7 @@ long WrenchBoardStartBalanceTopup(CVars in, CVars &out); long WrenchBoardCompleteBalanceTopup(CVars in, CVars &out); long WrenchResendSendReferLoadLink(CVars in, CVars &out); long WrenchBoardDeleteAccount(CVars in, CVars &out); +long VerifyWrenchAccountLink(CVars in, CVars &out); long test() { FILE* oldFile = Output2FILE::Stream(); @@ -426,6 +427,10 @@ long account_calls(CVars in, CVars &out) { case WRENCHBOARD_ACCOUNT_REFFERHX: return WrenchRefferHx( in, out); break; + + case WRENCHBOARD_VERIFY_PENDING_LINK: + return VerifyWrenchAccountLink( in, out); + break; } logfmt(logINFO, "/account_calls()"); return ret; @@ -433,6 +438,29 @@ long account_calls(CVars in, CVars &out) { #define PHP_API_TRANSFER_COMPLETE 200 + +long VerifyWrenchAccountLink(CVars in, CVars &out) { + logfmt(logINFO, "VerifyWrenchAccountLink()"); + long ret = PHP_API_BAD_PARAM; + REQ_STRING(in, "verify_link", 2, 120, "(.*)"); + OPTIONAL(in, "loc") REQ_STRING(in, "loc", 3, 15, "(.*)"); + out["status_text"] = "Start"; + out["status"] = "-1"; + try { + long lonkF = load_db_record(out, "SELECT uid AS pending_uid,id AS pending_id FROM members_pending WHERE verify_link ='%s' AND expire > now() AND status = 1 LIMIT 1", in["verify_link"].c_str()); + if (lonkF) { + out["status_text"] = "Link Verfied"; + out["status"] = "0"; + ret = PHP_API_OK; + } + } catch (bad_parameter) { + out["status"] = "ERROR"; + } + + logfmt(logINFO, "/VerifyWrenchAccountLink()"); + return ret; +} + long WrenchBoardDeleteAccount(CVars in, CVars &out) { long ret = 0; diff --git a/www-api/app/Config/Routes.php b/www-api/app/Config/Routes.php index 6734c294..7d3f1129 100644 --- a/www-api/app/Config/Routes.php +++ b/www-api/app/Config/Routes.php @@ -42,6 +42,7 @@ $routes->get('/en/wrench/api/v1/test','Home::test'); $routes->post('/en/wrench/api/v1/apigate', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/generics', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/createuser', 'WrenchApi::apigate'); +$routes->post('/en/wrench/api/v1/verifysignuplink', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/createmobileuser', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/completemobileuser', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/startresetpasword', 'WrenchApi::apigate'); diff --git a/www-api/app/Controllers/WrenchApi.php b/www-api/app/Controllers/WrenchApi.php index a0b5f03a..434be7eb 100644 --- a/www-api/app/Controllers/WrenchApi.php +++ b/www-api/app/Controllers/WrenchApi.php @@ -32,6 +32,7 @@ class WrenchApi extends BaseController 'apigate' => ['POST'], 'generics' => ['POST'], 'createuser' => ['POST'], + 'verifysignuplink' => ['POST'], 'createmobileuser' => ['POST'], 'completemobileuser' => ['POST'], 'startresetpasword' => ['POST'], @@ -80,6 +81,9 @@ class WrenchApi extends BaseController private function prepareEndPointData($endpoint, $in, &$call_backend=true,&$local_out=[]){ switch ($endpoint) { + case 'verifysignuplink': + $in["action"] = WRENCHBOARD_VERIFY_PENDING_LINK ; + break; case 'disableaccount': $in['action'] = WRENCHBOARD_USER_DELETEACC; break; diff --git a/www-api/public/svs/user/userve.php b/www-api/public/svs/user/userve.php index c9df6ecf..640d7d44 100755 --- a/www-api/public/svs/user/userve.php +++ b/www-api/public/svs/user/userve.php @@ -11,6 +11,7 @@ $endpoints = array( 'apigate' => array('POST'), 'generics' => array('POST'), 'createuser' => array('POST'), + 'verifysignuplink' => array('POST'), 'createmobileuser' => array('POST'), 'completemobileuser' => array('POST'), 'startresetpasword' => array('POST'), @@ -115,6 +116,9 @@ if ($_SERVER["REQUEST_METHOD"] == "GET") { } $in["loc"] = $_SERVER["REMOTE_ADDR"]; switch ($endpoint) { + case 'verifysignuplink': + $in["action"] = WRENCHBOARD_VERIFY_PENDING_LINK ; + break; case 'disableaccount': $in['action'] = WRENCHBOARD_USER_DELETEACC; break;