public function index() { $latestDonation = DonationLog::whereStatus('Completed')->leftjoin('users', 'donation_log.small_id', '=', 'users.small_id')->orderBy('donation_log.id', 'desc')->take(10)->get(['donation_log.original_amount', 'users.display_name', 'users.small_id', 'users.donation', 'users.beta', 'users.site_admin']); $latestDonationParsed = []; foreach ($latestDonation as $donation) { $latestDonationParsed[] = ['original_amount' => $donation->original_amount, 'display_name' => $donation->display_name, 'small_id' => $donation->small_id, 'steam_64_bit' => Steam::to64bit($donation->small_id), 'donation' => (int) $donation->donation, 'beta' => (int) $donation->beta, 'site_admin' => (int) $donation->site_admin]; } $latestDonation = $latestDonationParsed; $mostDonation = User::where('donation', '>', '0')->orderBy('donation', 'desc')->take(10)->get(['users.display_name', 'users.small_id', 'users.donation', 'users.beta', 'users.site_admin']); $mostDonationParsed = []; foreach ($mostDonation as $donation) { $mostDonationParsed[] = ['display_name' => $donation->display_name, 'small_id' => $donation->small_id, 'steam_64_bit' => Steam::to64bit($donation->small_id), 'donation' => (int) $donation->donation, 'beta' => (int) $donation->beta, 'site_admin' => (int) $donation->site_admin]; } $mostDonation = $mostDonationParsed; $donationPerk = DonationPerk::orderBy('amount', 'asc')->get(); $user = null; if (Auth::check()) { $user = Auth::user()->toArray(); unset($user['remember_token']); } return compact('user', 'latestDonation', 'mostDonation', 'donationPerk'); }
public function listList() { $return = ['my_list' => [], 'friends_list' => []]; $user = Auth::user(); $myLists = UserList::where('user_list.user_id', $user->id)->leftjoin('user_list_profile as ulp_1', 'ulp_1.user_list_id', '=', 'user_list.id')->groupBy('user_list.id')->orderBy('user_list.id', 'desc')->leftJoin('subscription', function ($join) { $join->on('subscription.user_list_id', '=', 'user_list.id')->whereNull('subscription.deleted_at'); })->whereNull('ulp_1.deleted_at')->get(['user_list.id', 'user_list.title', 'user_list.privacy', 'user_list.created_at', \DB::raw('count(ulp_1.id) as users_in_list'), \DB::raw('count(distinct subscription.id) as sub_count')]); foreach ($myLists as $myList) { $return['my_list'][] = ['id' => $myList->id, 'title' => $myList->title, 'privacy' => $myList->privacy, 'created_at' => $myList->created_at->format("M j Y"), 'users_in_list' => $myList->users_in_list, 'sub_count' => $myList->sub_count]; } if (isset($user->friendslist)) { $friendsList = json_decode($user->friendslist); $myfriendsLists = User::whereIn('users.small_id', $friendsList)->whereNotIn('user_list.privacy', [3])->whereNull('user_list_profile.deleted_at')->groupBy('user_list.id')->orderBy('user_list.id', 'desc')->leftjoin('user_list', 'user_list.user_id', '=', 'users.id')->leftjoin('user_list_profile', 'user_list.id', '=', 'user_list_profile.user_list_id')->leftjoin('profile', 'profile.small_id', '=', 'users.small_id')->leftJoin('subscription', function ($join) { $join->on('subscription.user_list_id', '=', 'user_list.id')->whereNull('subscription.deleted_at'); })->having('users_in_list', '>', 0)->get(['profile.id as profile_id', 'profile.display_name', 'profile.avatar_thumb', 'profile.small_id', 'user_list.id as user_list_id', 'user_list.title', 'user_list.privacy', 'user_list.created_at', 'users.site_admin', 'users.donation', 'users.beta', \DB::raw('count(user_list_profile.created_at) as users_in_list'), \DB::raw('count(Distinct subscription.id) as sub_count')]); foreach ($myfriendsLists as $myfriendsList) { if (!isset($myfriendsList->profile_id) || empty($myfriendsList->profile_id)) { continue; } $return['friends_list'][] = ['profile_id' => $myfriendsList->profile_id, 'display_name' => $myfriendsList->display_name, 'avatar_thumb' => $myfriendsList->avatar_thumb, 'steam_64_bit' => Steam::to64bit($myfriendsList->small_id), 'user_list_id' => $myfriendsList->user_list_id, 'title' => $myfriendsList->title, 'privacy' => $myfriendsList->privacy, 'created_at' => $myfriendsList->created_at->format("M j Y"), 'site_admin' => (int) $myfriendsList->site_admin ?: 0, 'donation' => (int) $myfriendsList->donation ?: 0, 'beta' => (int) $myfriendsList->beta ?: 0, 'users_in_list' => $myfriendsList->users_in_list, 'sub_count' => $myfriendsList->sub_count]; } } return $return; }