| | |
| | | <?php |
| | | namespace JVBase\rest\routes; |
| | | |
| | | use Exception; |
| | | use JVBase\Instance; |
| | | use JVBase\managers\Cache; |
| | | use JVBase\managers\Emails; |
| | | use JVBase\managers\MagicLinks; |
| | | use JVBase\managers\Referrals; |
| | | use JVBase\registrar\Registrar; |
| | | use JVBase\rest\Rest; |
| | | use JVBase\rest\Route; |
| | |
| | | if (is_wp_error($user)) { |
| | | return $this->error( |
| | | 'Invalid or expired reset link.', |
| | | 'invalid_key', |
| | | 400 |
| | | 'invalid_key' |
| | | ); |
| | | } |
| | | |
| | |
| | | if (!Site::has('magic_link')) { |
| | | return $this->error( |
| | | 'Magic link authentication is not enabled.', |
| | | 'feature_disabled', |
| | | 400 |
| | | 'feature_disabled' |
| | | ); |
| | | } |
| | | |
| | |
| | | |
| | | return $this->error( |
| | | $result->get_error_message(), |
| | | $result->get_error_code(), |
| | | 400 |
| | | $result->get_error_code() |
| | | ); |
| | | } |
| | | |
| | |
| | | |
| | | try { |
| | | Referrals::getInstance()->processReferralCode($user_id, $referral_code); |
| | | } catch (\Exception $e) { |
| | | } catch (Exception $e) { |
| | | $this->logError('Referral processing failed', [ |
| | | 'user_id' => $user_id, |
| | | 'code' => $referral_code, |
| | |
| | | */ |
| | | protected function sanitizeFieldValue(mixed $value, string $type):string|int |
| | | { |
| | | switch ($type) { |
| | | case 'email': |
| | | return sanitize_email($value); |
| | | case 'url': |
| | | return esc_url_raw($value); |
| | | case 'textarea': |
| | | return sanitize_textarea_field($value); |
| | | case 'number': |
| | | return absint($value); |
| | | default: |
| | | return sanitize_text_field($value); |
| | | } |
| | | return match ($type) { |
| | | 'email' => sanitize_email($value), |
| | | 'url' => esc_url_raw($value), |
| | | 'textarea' => sanitize_textarea_field($value), |
| | | 'number' => absint($value), |
| | | default => sanitize_text_field($value), |
| | | }; |
| | | } |
| | | |
| | | public static function auth():array |