MyAccountController.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\PromoCode;
  5. use Illuminate\Support\Facades\Cookie;
  6. use App\Models\PaymentMethod;
  7. use App\Models\Lab;
  8. use Laravel\Socialite\Facades\Socialite;
  9. class MyAccountController extends Controller {
  10. public function index(Request $request){
  11. return view('app.my-account.log-in-settings');
  12. }
  13. public function logInSettings(Request $request){
  14. return view('app.my-account.log-in-settings');
  15. }
  16. public function enableGoogleLogIn(Request $request){
  17. $request->session()->put('user_uid_to_enable_google_log_in', $this->user->uid);
  18. return Socialite::driver('google')->redirect();
  19. }
  20. public function enableFacebookLogIn(Request $request){
  21. $request->session()->put('user_uid_to_enable_facebook_log_in', $this->user->uid);
  22. return Socialite::driver('facebook')->redirect();
  23. }
  24. public function searchLab(Request $request){
  25. $term = $request->input('term') ? trim($request->input('term')) : '';
  26. if (empty($term)) return '';
  27. $term = strtolower($term);
  28. $term2 = '';
  29. if (strpos($term, ' ') !== FALSE) {
  30. $terms = explode(' ', $term);
  31. $term = trim($terms[0]);
  32. $term2 = trim($terms[1]);
  33. }
  34. $labs = Lab::query();
  35. $labs = $labs->where(function ($q) use ($term) {
  36. $q->orWhereRaw('LOWER(addresss::text) LIKE ?', ['%' . $term . '%']);
  37. });
  38. if (!empty($term2)) {
  39. $labs = $labs->where(function ($q) use ($term2) {
  40. $q->orWhereRaw('LOWER(addresss::text) LIKE ?', ['%' . $term2 . '%']);
  41. });
  42. }
  43. $labs = $labs->get();
  44. $labsJson = $labs->map(function ($lab) {
  45. return [
  46. "uid" => $lab->uid,
  47. "id" => $lab->id,
  48. "text" => $lab->name . ' • ' . $lab->address(true),
  49. ];
  50. });
  51. return json_encode([
  52. "results" => $labsJson
  53. ]);
  54. }
  55. }