Phone number API now looks in din_card-table
This commit is contained in:
1 parent
1161fdea8b
commit
cf4eb0e638
2 files changed
+34
-30
No files matched your search
+21
-2
@@ -150,12 +150,14 @@ function get_card($card_number) {
|
|||||||
$conn = get_db_connection(DB_FETCHMODE_ASSOC);
|
$conn = get_db_connection(DB_FETCHMODE_ASSOC);
|
||||||
|
|
||||||
$card_number = $conn->quoteSmart($card_number);
|
$card_number = $conn->quoteSmart($card_number);
|
||||||
$sql = "SELECT * FROM din_card WHERE card_number=$card_number";
|
$expires_sql = "DATE_ADD(DATE(registered), INTERVAL 1 YEAR)";
|
||||||
|
$has_valid_membership_sql = "NOW() <= $expires_sql AND owner_phone_number IS NOT NULL";
|
||||||
|
$sql = "SELECT *,$has_valid_membership_sql AS has_valid_membership,$expires_sql AS expires FROM din_card WHERE card_number=$card_number";
|
||||||
|
|
||||||
$res = $conn->getAll($sql);
|
$res = $conn->getAll($sql);
|
||||||
|
|
||||||
if( DB::isError($res) ) {
|
if( DB::isError($res) ) {
|
||||||
new Exception($res->getMessage());
|
return array('error' => $res->getMessage(), 'sql' => $sql);
|
||||||
}
|
}
|
||||||
if( count($res) === 1) {
|
if( count($res) === 1) {
|
||||||
return $res[0];
|
return $res[0];
|
||||||
@@ -214,6 +216,23 @@ function get_user_id_by_card_number($card_number) {
|
|||||||
return $res[0][0];
|
return $res[0][0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_card_by_phone_number($phone_number) {
|
||||||
|
$conn = get_db_connection(DB_FETCHMODE_ORDERED);
|
||||||
|
|
||||||
|
$phone_number = $conn->quoteSmart($phone_number);
|
||||||
|
$sql = "SELECT card_number FROM din_card WHERE owner_phone_number=$phone_number";
|
||||||
|
|
||||||
|
$res = $conn->getAll($sql);
|
||||||
|
|
||||||
|
if( DB::isError($res) ) {
|
||||||
|
new Exception($res->getMessage());
|
||||||
|
}
|
||||||
|
if( count($res) === 0 ) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return get_card($res[0][0]);
|
||||||
|
}
|
||||||
|
|
||||||
function get_card_owner_phone_number($card_number) {
|
function get_card_owner_phone_number($card_number) {
|
||||||
$conn = get_db_connection(DB_FETCHMODE_ORDERED);
|
$conn = get_db_connection(DB_FETCHMODE_ORDERED);
|
||||||
|
|
||||||
|
|||||||
+13
-28
@@ -10,31 +10,24 @@ $conn = get_db_connection(DB_FETCHMODE_ORDERED);
|
|||||||
|
|
||||||
|
|
||||||
if( !isset($_GET['apikey']) ) {
|
if( !isset($_GET['apikey']) ) {
|
||||||
set_response_code(400);
|
return_json_response(array('error' => "Missing param apikey."), 400);
|
||||||
echo json_encode(array('error' => "Missing param apikey."));
|
|
||||||
die();
|
|
||||||
}
|
}
|
||||||
/* Valid API KEY (defined in credentials.php) ? */
|
/* Valid API KEY (defined in credentials.php) ? */
|
||||||
if( $_GET['apikey'] !== USER_API_KEY && $_GET['apikey'] !== USER_API_KEY_KASSA ) {
|
if( $_GET['apikey'] !== USER_API_KEY && $_GET['apikey'] !== USER_API_KEY_KASSA ) {
|
||||||
set_response_code(400);
|
return_json_response(array('error' => "Invalid apikey: '".$_GET['apikey']."'."), 400);
|
||||||
echo json_encode(array('error' => "Invalid apikey: '".$_GET['apikey']."'."));
|
|
||||||
die();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Validate params */
|
/* Validate params */
|
||||||
if(!isset($_GET['q'])) {
|
if(!isset($_GET['q'])) {
|
||||||
set_response_code(400);
|
return_json_response(array('error' => "Missing param q"), 400);
|
||||||
echo json_encode(array('error' => "Missing param q"));
|
|
||||||
die();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$phonenumber = $_GET['q'];
|
$phonenumber = $_GET['q'];
|
||||||
$phonenumber = clean_phonenumber($phonenumber);
|
$phonenumber = clean_phonenumber($phonenumber);
|
||||||
if(!valid_phonenumber($phonenumber)) {
|
if(!valid_phonenumber($phonenumber)) {
|
||||||
set_response_code(400);
|
return_json_response(array('error' => "Invalid phone number: '".$phonenumber."'"), 400);
|
||||||
echo json_encode(array('error' => "Invalid phone number: '".$phonenumber."'"));
|
|
||||||
die();
|
|
||||||
}
|
}
|
||||||
|
$card = get_card_by_phone_number($phonenumber);
|
||||||
$phonenumber = $conn->quoteSmart($phonenumber);
|
$phonenumber = $conn->quoteSmart($phonenumber);
|
||||||
|
|
||||||
// Search query
|
// Search query
|
||||||
@@ -46,13 +39,10 @@ $sql = "
|
|||||||
$res = $conn->getAll($sql);
|
$res = $conn->getAll($sql);
|
||||||
|
|
||||||
if( DB::isError($res) ) {
|
if( DB::isError($res) ) {
|
||||||
set_response_code(500);
|
return_json_response(array('error' => $res->message), 500);
|
||||||
echo json_encode(array('error' => $res->message));
|
|
||||||
die();
|
|
||||||
}
|
}
|
||||||
if(count($res) == 0) {
|
if(count($res) == 0) {
|
||||||
echo json_encode(array('meta' => array('num_results' => 0),'results' => []));
|
return_json_response(array('card' => $card, 'users' => []));
|
||||||
die();
|
|
||||||
}
|
}
|
||||||
$id_array = array();
|
$id_array = array();
|
||||||
foreach($res as $value) {
|
foreach($res as $value) {
|
||||||
@@ -63,15 +53,10 @@ $user_ids = implode(",", $id_array);
|
|||||||
try{
|
try{
|
||||||
$results = get_user_data($user_ids);
|
$results = get_user_data($user_ids);
|
||||||
} catch(Exception $e) {
|
} catch(Exception $e) {
|
||||||
set_response_code(500);
|
return_json_response(array('error' => $e->getMessage()), 500);
|
||||||
echo json_encode(array('error' => $e->getMessage()));
|
return; // Note: Makes IDE happy
|
||||||
die();
|
|
||||||
}
|
}
|
||||||
echo json_encode(array(
|
return_json_response(array(
|
||||||
'meta' => array(
|
'users' => $results,
|
||||||
'num_results' => count($results)
|
'card' => $card
|
||||||
),
|
));
|
||||||
'results' => $results,
|
|
||||||
));
|
|
||||||
|
|
||||||
?>
|
|
||||||
Reference in new issue
Block a user