@foreach($bonuses as $bonus)
@php
$user = auth('admin')->user();
$canClaim = true;
$disabledReason = '';
$isAlreadyClaimed = false;
$claimedDate = null;
if ($user) {
// Bu bonus için claim kontrolü - yatırım bonusu hariç
$bonusClaim = $bonusClaims->get($bonus->id);
if ($bonusClaim && $bonus->yatirim != '1') {
$isAlreadyClaimed = true;
$canClaim = false;
$claimedDate = $bonusClaim->claimed_at;
if ($bonus->deneme == '1') {
$disabledReason = 'Bu deneme bonusunu ' . \Carbon\Carbon::parse($claimedDate)->format('d.m.Y H:i') . ' tarihinde almışsınız. Sadece 1 Kez Alınabilir.';
} elseif ($bonus->hosgeldin == '1') {
$disabledReason = 'Bu hoşgeldin bonusunu ' . \Carbon\Carbon::parse($claimedDate)->format('d.m.Y H:i') . ' tarihinde almışsınız. Sadece 1 Kez Alınabilir.';
} else {
$disabledReason = 'Bu bonusu ' . \Carbon\Carbon::parse($claimedDate)->format('d.m.Y H:i') . ' tarihinde almışsınız.';
}
} else {
// Hoşgeldin bonusu için genel kontrol (başka hoşgeldin bonusu alınmış mı?)
if ($bonus->hosgeldin == '1') {
$existingWelcomeClaim = \App\Models\BonusClaim::where('user_id', $user->id)
->whereHas('bonus', function($query) {
$query->where('hosgeldin', '1');
})
->first();
if ($existingWelcomeClaim) {
$isAlreadyClaimed = true;
$canClaim = false;
$disabledReason = 'Başka bir hoşgeldin bonusu almışsınız. Hoşgeldin bonusu sadece 1 kez alınabilir.';
}
}
// Hoşgeldin bonusu aldıktan sonra yatırım kontrolü (deneme bonusu hariç)
if ($bonus->deneme != '1' && !$isAlreadyClaimed) {
$hasWelcomeBonus = \App\Models\BonusClaim::where('user_id', $user->id)
->whereHas('bonus', function($query) {
$query->where('hosgeldin', '1');
})
->exists();
if ($hasWelcomeBonus) {
// Hoşgeldin bonusu aldıktan sonra yatırım yapılmış mı kontrol et
$welcomeClaim = \App\Models\BonusClaim::where('user_id', $user->id)
->whereHas('bonus', function($query) {
$query->where('hosgeldin', '1');
})
->first();
$depositAfterWelcome = \App\Models\Parayatir::where('uye', $user->id)
->where('durum', 1)
->where('tarih', '>', $welcomeClaim->claimed_at)
->exists();
if (!$depositAfterWelcome) {
$canClaim = false;
$disabledReason = 'Hoşgeldin bonusu aldıktan sonra yeni yatırım yapmanız gerekmektedir.';
}
}
}
// Yatırım bonusu kontrolü
if ($bonus->yatirim == '1' && !$isAlreadyClaimed && $canClaim) {
$recentDeposit = \App\Models\Parayatir::where('uye', $user->id)
->where('durum', 1)
->orderBy('tarih', 'desc')
->first();
if (!$recentDeposit) {
$canClaim = false;
$disabledReason = 'Yatırım bonusu alabilmek için önce yatırım yapmanız gerekmektedir.';
} else {
// Son yatırımdan sonra oyun oynama kontrolü
$gameActivityAfterLastDeposit = \App\Models\Transaction::where('user_id', $user->id)
->where('type', 'bet')
->where('created_at', '>', $recentDeposit->tarih)
->exists();
// Son yatırımdan sonra bonus alma kontrolü (yatırım bonusu hariç)
$bonusAfterLastDeposit = \App\Models\BonusClaim::where('user_id', $user->id)
->where('claimed_at', '>', $recentDeposit->tarih)
->whereHas('bonus', function($query) {
$query->where('yatirim', '!=', '1');
})
->exists();
// Son yatırımdan sonra yatırım bonusu alınmış mı kontrol et
$yatirimBonusAfterLastDeposit = \App\Models\BonusClaim::where('user_id', $user->id)
->where('claimed_at', '>', $recentDeposit->tarih)
->whereHas('bonus', function($query) {
$query->where('yatirim', '1');
})
->exists();
if ($gameActivityAfterLastDeposit) {
$canClaim = false;
$disabledReason = 'Son yatırımınızdan sonra oyun oynadığınız için yatırım bonusu alamazsınız.';
} elseif ($bonusAfterLastDeposit) {
$canClaim = false;
$disabledReason = 'Son yatırımınızdan sonra başka bonus aldığınız için yatırım bonusu alamazsınız.';
} elseif ($yatirimBonusAfterLastDeposit) {
$canClaim = false;
$disabledReason = 'Bu yatırım için yatırım bonusunu zaten almışsınız.';
}
}
}
// Kayıp bonusu kontrolü
if ($bonus->kayip == '1' && !$isAlreadyClaimed && $canClaim) {
if ($user->bakiye >= 5) {
$canClaim = false;
$disabledReason = 'Kayıp bonusu alabilmek için bakiyenizin 5 TL altında olması gerekmektedir.';
} else {
// Son yatırım kontrolü
$lastDeposit = \App\Models\Parayatir::where('uye', $user->id)
->where('durum', 1)
->orderBy('tarih', 'desc')
->first();
if (!$lastDeposit) {
$canClaim = false;
$disabledReason = 'Kayıp bonusu alabilmek için önce yatırım yapmanız gerekmektedir.';
} else {
// Son yatırımdan sonra bonus almış mı? (kayıp bonusu hariç)
$bonusAfterLastDeposit = \App\Models\BonusClaim::where('user_id', $user->id)
->where('claimed_at', '>=', $lastDeposit->tarih)
->whereHas('bonus', function($query) {
$query->where('kayip', '!=', '1');
})
->exists();
if ($bonusAfterLastDeposit) {
$canClaim = false;
$disabledReason = 'Son yatırımınızdan sonra bonus aldığınız için kayıp bonusu alamazsınız.';
}
}
}
}
}
} else {
$canClaim = false;
$disabledReason = 'Bonus almak için giriş yapmanız gerekmektedir.';
}
@endphp
@endforeach
Henüz Bonus Yok
Şu anda aktif bonus bulunmuyor. Yeni bonuslar için takipte kalın!
Ana Sayfaya Dön