Recherche des tweets de réponse avec l'API Tweeter
This commit is contained in:
79
app/Livewire/Contests.php
Normal file
79
app/Livewire/Contests.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use App\Models\Contest;
|
||||
use App\Models\Account;
|
||||
use App\Jobs\ProcessTweet;
|
||||
use Carbon\Carbon;
|
||||
use Livewire\Component;
|
||||
use Livewire\WithPagination;
|
||||
|
||||
class Contests extends Component
|
||||
{
|
||||
use WithPagination;
|
||||
|
||||
// Fonction appelée lors du chargement du composant
|
||||
public function mount()
|
||||
{
|
||||
// Initial setup if needed
|
||||
}
|
||||
|
||||
// Fonction pour participer automatiquement à un concours
|
||||
public function auto($contestId)
|
||||
{
|
||||
$contest = Contest::find($contestId);
|
||||
|
||||
if (!$contest) {
|
||||
session()->flash('error', 'Concours introuvable.');
|
||||
return;
|
||||
}
|
||||
|
||||
flash()->success('Concours '.$contest->name.' en cours de participation');
|
||||
|
||||
// Récupération des comptes activés
|
||||
$accounts = Account::where('enable', true)->get();
|
||||
|
||||
foreach ($accounts as $account) {
|
||||
ProcessTweet::dispatch($contest->id, $account->id); // Envoi du tweet pour participer
|
||||
}
|
||||
|
||||
// Mise à jour du concours pour indiquer qu'il a été participé
|
||||
$contest->participated = true;
|
||||
$contest->save();
|
||||
|
||||
// Recharger les concours
|
||||
$this->resetPage(); // Reset pagination to the first page
|
||||
}
|
||||
|
||||
// Fonction pour supprimer un concours
|
||||
public function delete($contestId)
|
||||
{
|
||||
$contest = Contest::find($contestId);
|
||||
|
||||
if ($contest) {
|
||||
$contest->enable = false;
|
||||
$contest->save();
|
||||
flash()->error('Concours suppimé');
|
||||
}
|
||||
|
||||
// Recharger les concours après la suppression
|
||||
$this->resetPage(); // Reset pagination to the first page
|
||||
}
|
||||
|
||||
// Fonction pour afficher la vue
|
||||
public function render()
|
||||
{
|
||||
$datefin = Carbon::now()->addDays(3)->format('Y-m-d');
|
||||
$contests = Contest::where('fin', '>=', now())
|
||||
->where('fin', '<=', $datefin)
|
||||
->where('participated', '!=', true)
|
||||
//->where('enable', true)
|
||||
->orderBy('fin', 'asc')
|
||||
->paginate(20);
|
||||
|
||||
return view('livewire.contests', [
|
||||
'contests' => $contests
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user