From 1f59599703e4d41e69c66b63ec3aff95e6a4b4e2 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Sun, 4 Oct 2015 19:36:27 +0200 Subject: [PATCH] Try cleaning up and fixing activation for existing users --- snapporder/lib/functions.php | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/snapporder/lib/functions.php b/snapporder/lib/functions.php index 62e235f..dfec8ce 100644 --- a/snapporder/lib/functions.php +++ b/snapporder/lib/functions.php @@ -585,25 +585,26 @@ function validate_sms_form($data) { if( !valid_phonenumber($phone) ) { throw new ValidationException("Ugyldig telefonnummer: ".$data['phone']); } - $logged_in_user_id = isset($data['user_id']) && $data['user_id'] !== "" && is_numeric($data['user_id']); - if( $logged_in_user_id && get_user($data['user_id']) === false ) { - throw new ValidationException("Ugyldig bruker angitt: ".$data['user_id']); - } + $is_valid_logged_in_user = isset($data['user_id']) && $data['user_id'] !== "" && is_numeric($data['user_id']); $user_id_by_phone = getUseridFromPhone($phone); - if( $user_id_by_phone !== false && $logged_in_user_id && $data['user_id'] !== $user_id_by_phone ) { - $login_msg = "Hvis nummeret tilhører deg, logg inn her først, før du returnerer hit og fullfører skjemaet."; - throw new ValidationException("Telefonnummeret ".$data['phone']." er allerede registrert i bruk. $login_msg"); - } - if( $user_id_by_phone !== false && !$logged_in_user_id ) { - $login_msg = "Hvis nummeret tilhører deg, logg inn her først, før du returnerer hit og fullfører skjemaet."; - throw new ValidationException("Telefonnummeret ".$data['phone']." er allerede registrert i bruk. $login_msg"); - } - if( $logged_in_user_id ) { - $_user = get_user($logged_in_user_id); - if($_user['is_member'] !== "0") { + if( $is_valid_logged_in_user ) { + $_user = get_user($data['user_id']); + if($_user === false ) { + throw new ValidationException("Ugyldig bruker angitt: " . $data['user_id']); + } + if( $user_id_by_phone !== false && $_user['member_id'] !== $user_id_by_phone ) { + $login_msg = "Hvis nummeret tilhører deg, logg inn her først, før du returnerer hit og fullfører skjemaet."; + throw new ValidationException("Telefonnummeret ".$data['phone']." er allerede registrert i bruk. $login_msg"); + } + if($_user['membership_status'] !== 0) { $see_more_msg = "Du kan se medlemskapet her."; throw new ValidationException("Du har allerede aktivert medlemskapet ditt :-) $see_more_msg"); } + } else { + if( $user_id_by_phone !== false ) { + $login_msg = "Hvis nummeret tilhører deg, logg inn her først, før du returnerer hit og fullfører skjemaet."; + throw new ValidationException("Telefonnummeret ".$data['phone']." er allerede registrert i bruk. $login_msg"); + } } $data['phone'] = $phone; @@ -616,7 +617,7 @@ function validate_sms_form($data) { $data['purchased'] = clean_timestamp($purchased); $data['source'] = $source; - if($logged_in_user_id) { + if($is_valid_logged_in_user) { /* Existing user */ return $data; }