Correction des différents bugs

This commit is contained in:
2024-11-27 16:30:59 +01:00
parent 780798ff25
commit cda2104b11
25 changed files with 1096 additions and 334 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Exception;
use GuzzleHttp\Client; use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack; use GuzzleHttp\HandlerStack;
use GuzzleHttp\Subscriber\Oauth\Oauth1; use GuzzleHttp\Subscriber\Oauth\Oauth1;
@@ -306,6 +307,7 @@ class APIController extends Controller
public function unread($user) public function unread($user)
{ {
try{
$stack = $this->Oauth1($user); $stack = $this->Oauth1($user);
// Créer le client Guzzle avec le handler stack // Créer le client Guzzle avec le handler stack
@@ -351,7 +353,7 @@ class APIController extends Controller
]); ]);
}elseif ($unred['ntab_unread_count'] > 0) { }elseif ($unred['ntab_unread_count'] > 1) {
$text = "Une notification pour le compte ".$user->name; $text = "Une notification pour le compte ".$user->name;
Http::get('https://api.telegram.org/bot6784810105:AAEq3emnkRwdyvCLC-iqdIjVJ2Ke6HwwGjg/sendMessage', [ Http::get('https://api.telegram.org/bot6784810105:AAEq3emnkRwdyvCLC-iqdIjVJ2Ke6HwwGjg/sendMessage', [
@@ -361,6 +363,30 @@ class APIController extends Controller
]); ]);
} }
}catch (Exception $exception){
$text = "Le compte Twitter " . $user->name . " : " . $exception->getMessage();
// L'URL des deux liens
$url = 'https://myx.ovh/accounts/'.$user->id;
$keyboard = [
'inline_keyboard' => [
[
['text' => 'Cliquez ici pour plus d\'infos', 'url' => $url]
]
]
];
// Convertir le tableau de clavier en JSON
$keyboardJson = json_encode($keyboard);
// Envoyer le message avec les deux boutons
Http::get('https://api.telegram.org/bot6784810105:AAEq3emnkRwdyvCLC-iqdIjVJ2Ke6HwwGjg/sendMessage', [
'chat_id' => '1970698501', // Remplacez par votre chat_id
'text' => $text,
'reply_markup' => $keyboardJson
]);
}
} }

View File

@@ -2,27 +2,198 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Http\Controllers\TwitterController;
use App\Models\Account; use App\Models\Account;
use App\Models\Block;
use App\Models\Concour; use App\Models\Concour;
use App\Models\Contest; use App\Models\Contest;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use Laravel\Dusk\Browser;
use Symfony\Component\BrowserKit\HttpBrowser;
use Symfony\Component\HttpClient\HttpClient;
use Illuminate\Http\Request;
use Throwable; use Throwable;
class BotController extends Controller class BotController extends Controller
{ {
public function test($user,$contest){
public function index()
{
$response = Http::get('https://rtandfollow.com/apibot');
$tweets = $response->json();
$accounts = Account::where('enable', true)->get();
foreach($accounts as $account){
try{
$user = $account;
$twitter = new TwitterController();
$browser = $twitter->connexion($user);
$url = $browser->driver->getCurrentURL();
if($url == 'https://x.com/account/access'){
$browser->quit();
exec('taskkill /f /im chrome.exe');
}else{
shuffle($tweets);
$a = 1;
foreach($tweets as $status) {
$tweetid = $status['tweetid'];
$screen_name = $status['organizer']['screen_name'];
$text = $status['description'];
$concours = DB::table('concours')->where('tweet_id', $tweetid)->where('user', $user->id)->first();
$blocking = DB::table('blocks')->where('screen_name', $screen_name)->first();
$containsBlacklistedWord = preg_match('/' . implode('|', array_map('preg_quote', config('twitter.giveaway_to_blacklist'), ['/'])) . '/i', $text) === 1;
//On verifie que le concours n'est pas dans la BDD ou que l'utilisateur n'est pas bloqué
if (empty($concours) and empty($blocking) and $containsBlacklistedWord !== true) {
//On recherche la date de fin du concours
$fin = $status['fin'];
if ($fin >= Carbon::now()->format('Y-m-d')) {
try {
$tweetspecial = $this->getSpecialComment($text,$tweetid,$screen_name);
$tweetcomment = $this->getComment($text);
$tags = $this->getTags($text);
$hashtags = $this->getHashtags($text);
$follows = $this->getFollows($text);
$concours = Concour::create([
'description' => $text,
'tweet_id' => $tweetid,
'name' => $screen_name,
'fin' => $fin,
'user' => $user->id,
]);
$twitter->retweet($browser, $tweetid);
if (isset($tweetspecial) && isset($tags)) {
$retweet = $tweetspecial . ' ' . $tags . ' ' . $hashtags;
$encode = urlencode($retweet);
//On reply
$twitter->reply($browser, $tweetid, $encode);
}elseif(isset($tweetcomment) && isset($tags)) {
$comments = config('twitter.sentence_for_tag');
$comment = Arr::random($comments);
$retweet = $comment . ' ' . $tags . ' ' . $hashtags;
$encode = urlencode($retweet);
//On reply
$twitter->reply($browser, $tweetid, $encode);
}elseif(isset($tweetspecial)){
$retweet = $tweetspecial . ' ' . $hashtags;
$encode = urlencode($retweet);
//On reply
$twitter->reply($browser, $tweetid, $encode);
}elseif(isset($tweetcomment)){
$comments = config('twitter.sentence_for_random_comment');
$comment = Arr::random($comments);
$retweet = $comment . ' ' . $hashtags;
$encode = urlencode($retweet);
//On reply
$twitter->reply($browser, $tweetid, $encode);
}elseif(isset($tags)){
$retweet = $tags;
$encode = urlencode($retweet);
//On reply
$twitter->reply($browser, $tweetid, $encode);
}
//On follow le créateur
$twitter->follow($browser, $screen_name);
if(isset($follows)){
foreach ($follows as $follow){
$twitter->follow($browser, $follow);
}
}
//On like si besoin
preg_match("/LIKE/i", $text, $like);
if (isset($like[0])) {
$twitter->like($browser, $tweetid);
}
$yes = rand(0,2);
if($yes == 1){
$new = $this->combinefeeds()[0];
$title = (strlen($new['title']) > 205) ? substr($new['title'],0,205).'...' : $new['title'];
//$url = $this->urlshort($new['url']);
$short = $title.' '.$new['url'];
$short = urlencode($short);
//On tweet une info
$twitter->tweet($browser, $short);
}
$a++;
if ($a > 2) {
echo $user->name.' a bien participé; ';
break;
}
} catch (Throwable $e) {
report($e);
$a++;
if ($a > 2) {
break;
}
}
}
}
}
if (isset($browser) && $browser instanceof Browser) {
// Récupérez les cookies de la session actuelle
$cookies = $browser->driver->manage()->getCookies();
// Sauvegardez les cookies dans un fichier au format JSON
$user->cookies = serialize($cookies);
$user->save();
$browser->quit();
}
}
}catch (Throwable $e) {
report($e);
}
}
exec('taskkill /f /im chrome.exe');
}
public function process($user,$id){
$user = Account::find($user); $user = Account::find($user);
$contest = Contest::findOrFail($contest); $contest = Contest::findOrFail($id);
$text = $contest->description; $text = $contest->description;
@@ -77,14 +248,7 @@ class BotController extends Controller
// Récupérer la phrase avec le comptage le plus élevé // Récupérer la phrase avec le comptage le plus élevé
$phrasePlusFrequente = ($indexPhrasePlusFrequente !== null) ? $texts[$indexPhrasePlusFrequente] : null; $phrasePlusFrequente = ($indexPhrasePlusFrequente !== null) ? $texts[$indexPhrasePlusFrequente] : null;
if ($phrasePlusFrequente != null) { if ($phrasePlusFrequente != null) {
// Supprimer les hashtags
$phrasePlusFrequente = preg_replace('/#\w+\s?/', '', $phrasePlusFrequente);
// Supprimer les tags
$phrasePlusFrequente = preg_replace('/@\w+\s?/', '', $phrasePlusFrequente);
// Supprimer les emojis // Supprimer les emojis
$phrasePlusFrequente = $this->remove_emojis($phrasePlusFrequente); $phrasePlusFrequente = $this->remove_emojis($phrasePlusFrequente);
@@ -189,6 +353,18 @@ class BotController extends Controller
return $dotProduct / ($magnitude1 * $magnitude2); return $dotProduct / ($magnitude1 * $magnitude2);
} }
private function getFollows(mixed $text)
{
preg_match_all("/\s@([\w_-]+)/", $text, $mentions);
if(isset($mentions[1])){
$mentions = array_unique($mentions[1]);
return $mentions;
}else{
return '';
}
}
private function remove_emojis($string) private function remove_emojis($string)
{ {
// Match all emojis (including extended ones) // Match all emojis (including extended ones)
@@ -198,4 +374,6 @@ class BotController extends Controller
return $clear_string; return $clear_string;
} }
} }

View File

@@ -8,6 +8,7 @@ use Artesaos\SEOTools\Facades\SEOTools;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use LanguageDetector\LanguageDetector;
use Symfony\Component\BrowserKit\HttpBrowser; use Symfony\Component\BrowserKit\HttpBrowser;
use Symfony\Component\HttpClient\HttpClient; use Symfony\Component\HttpClient\HttpClient;
@@ -29,7 +30,7 @@ class ContestController extends Controller
$i = 1; $i = 1;
while ($i < 10){ while ($i < 25){
$results = $crawler->filterXPath('//div[@class="timeline-item "]')->each(function ($node) { $results = $crawler->filterXPath('//div[@class="timeline-item "]')->each(function ($node) {
$id = ($node->filterXPath('//*[@class="tweet-link"]'))->attr('href'); $id = ($node->filterXPath('//*[@class="tweet-link"]'))->attr('href');
$created_at = ($node->filterXPath('//span[@class="tweet-date"]/a'))->attr('title'); $created_at = ($node->filterXPath('//span[@class="tweet-date"]/a'))->attr('title');
@@ -61,7 +62,14 @@ class ContestController extends Controller
$fake = Block::where('screen_name', $screen)->first(); $fake = Block::where('screen_name', $screen)->first();
$containsBlacklistedWord = preg_match('/' . implode('|', array_map('preg_quote', config('twitter.giveaway_to_blacklist'), ['/'])) . '/i', $text) === 1; $containsBlacklistedWord = preg_match('/' . implode('|', array_map('preg_quote', config('twitter.giveaway_to_blacklist'), ['/'])) . '/i', $text) === 1;
if(!$contest && !$fake && $nbretweet > 100 && $containsBlacklistedWord !== true) { $language = new LanguageDetector();
$lang = $language->evaluate($text);
$created_at = str_replace(' · ', ' ', $created_at);
$created_at = Carbon::parse($created_at)->format('Y-m-d H:i:s');
$nowMinusOneMonth = Carbon::now()->subMonth();
if(!$contest && !$fake && $nbretweet > 100 && $containsBlacklistedWord !== true && $lang == 'fr' && $created_at >= $nowMinusOneMonth){
$regex_detect_rts = $regex_detect_rts =
[ [
"/\bRT\b/", "/\bRT\b/",
@@ -101,6 +109,7 @@ class ContestController extends Controller
'nbretweet' => $nbretweet, 'nbretweet' => $nbretweet,
'nblike' => $nblike, 'nblike' => $nblike,
'nbreply' => $nbreply, 'nbreply' => $nbreply,
'created_at' => $created_at,
]); ]);
} }
@@ -125,33 +134,14 @@ class ContestController extends Controller
public function searchcontest() public function searchcontest()
{ {
$search = [ $search = [
'giveaway',
'#concours', '#concours',
'concours like',
'concours rt',
'concours follow',
'#JeuConcours', '#JeuConcours',
'JeuConcours', 'JeuConcours',
'jeu concours', 'jeu concours',
'offre follow gagnant',
'concours pour gagner', 'concours pour gagner',
'gagner rt',
'Gagnez rt follow',
'RT follow',
'concours rt like', 'concours rt like',
'concours rt fav', 'concours rt fav',
'RT tweet Follow',
'concours rt follow',
'rt follow tas',
'rt follow tirage au sort',
'rt follow gagner',
'rt follow commente',
'rt suivre concours',
'rt suivez concours',
'rt suivre tirage au sort',
'rt suivre tas',
'concours remporter', 'concours remporter',
'remporter rt',
'concours tas le', 'concours tas le',
'concours résultats le rt', 'concours résultats le rt',
'tirage au sort concours', 'tirage au sort concours',
@@ -208,7 +198,14 @@ class ContestController extends Controller
$fake = Block::where('screen_name', $screen)->first(); $fake = Block::where('screen_name', $screen)->first();
$containsBlacklistedWord = preg_match('/' . implode('|', array_map('preg_quote', config('twitter.giveaway_to_blacklist'), ['/'])) . '/i', $text) === 1; $containsBlacklistedWord = preg_match('/' . implode('|', array_map('preg_quote', config('twitter.giveaway_to_blacklist'), ['/'])) . '/i', $text) === 1;
if (!$contest && !$fake && $nbretweet > 1000 && $containsBlacklistedWord !== true) { $language = new LanguageDetector();
$lang = $language->evaluate($text);
$created_at = str_replace(' · ', ' ', $created_at);
$created_at = Carbon::parse($created_at)->format('Y-m-d H:i:s');
$nowMinusOneMonth = Carbon::now()->subMonth();
if (!$contest && !$fake && $nbretweet > 500 && $containsBlacklistedWord !== true && $lang == 'fr' && $created_at >= $nowMinusOneMonth) {
$regex_detect_rts = $regex_detect_rts =
[ [
@@ -252,6 +249,7 @@ class ContestController extends Controller
'nbretweet' => $nbretweet, 'nbretweet' => $nbretweet,
'nblike' => $nblike, 'nblike' => $nblike,
'nbreply' => $nbreply, 'nbreply' => $nbreply,
'created_at' => $created_at,
]); ]);
} }
@@ -502,7 +500,7 @@ class ContestController extends Controller
} }
return $date_convertie; return $date_convertie;
} }
private function getTwitterDate($text) private function getTwitterDate($text)
{ {
@@ -536,7 +534,7 @@ class ContestController extends Controller
public function all() public function all()
{ {
$contests = Contest::where('fin', '>=', Carbon::now()->format('Y-m-d'))->where('participated', 0)->where('enable', 1)->paginate(20); $contests = Contest::where('fin', '>=', Carbon::now()->format('Y-m-d'))->where('participated', 0)->where('enable', 1)->orderby('id', 'desc')->paginate(20);
$count = Contest::where('fin', '>=', Carbon::now()->format('Y-m-d'))->where('participated', 0)->where('enable', 1)->count(); $count = Contest::where('fin', '>=', Carbon::now()->format('Y-m-d'))->where('participated', 0)->where('enable', 1)->count();

View File

@@ -18,7 +18,7 @@ class HomeController extends Controller
public function history() public function history()
{ {
$contests = Contest::where('participated', true)->orderby('updated_at', 'desc')->paginate(20); $contests = Contest::where('participated',true)->orderby('updated_at','desc')->paginate(20);
SEOTools::setTitle('Mon historique'); SEOTools::setTitle('Mon historique');

View File

@@ -7,6 +7,7 @@ use Illuminate\Foundation\Queue\Queueable;
use App\Http\Controllers\APIController; use App\Http\Controllers\APIController;
use App\Models\Account; use App\Models\Account;
use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Http;
class ProcessNews implements ShouldQueue class ProcessNews implements ShouldQueue
{ {
@@ -49,17 +50,14 @@ class ProcessNews implements ShouldQueue
shuffle($news); shuffle($news);
$nb = rand(1,3); $randomKey = array_rand($news);
if (count($news) >= $nb) { $article = $news[$randomKey];
$selectedArticles = array_slice($news, 0, $nb);
foreach ($selectedArticles as $article) {
$tweetid = $article['conversation_id_str']; $tweetid = $article['conversation_id_str'];
$API->retweet($user, $tweetid); $API->retweet($user, $tweetid);
sleep(30); sleep(15);
}
}
}catch (Exception $exception){ }catch (Exception $exception){
$text = "Le compte Twitter " . $user->name . " : " . $exception->getMessage(); $text = "Le compte Twitter " . $user->name . " : " . $exception->getMessage();
@@ -79,7 +77,7 @@ class ProcessNews implements ShouldQueue
// Envoyer le message avec les deux boutons // Envoyer le message avec les deux boutons
Http::get('https://api.telegram.org/bot6784810105:AAEq3emnkRwdyvCLC-iqdIjVJ2Ke6HwwGjg/sendMessage', [ Http::get('https://api.telegram.org/bot6784810105:AAEq3emnkRwdyvCLC-iqdIjVJ2Ke6HwwGjg/sendMessage', [
'chat_id' => '1970698501', 'chat_id' => '1970698501', // Remplacez par votre chat_id
'text' => $text, 'text' => $text,
'reply_markup' => $keyboardJson 'reply_markup' => $keyboardJson
]); ]);

View File

@@ -16,7 +16,7 @@ class ProcessTweet implements ShouldQueue
{ {
use Queueable; use Queueable;
public $timeout = 900; public $timeout = 300;
public $tries = 1; public $tries = 1;
private $id; private $id;

View File

@@ -65,10 +65,10 @@ class Contests extends Component
public function render() public function render()
{ {
$datefin = Carbon::now()->addDays(3)->format('Y-m-d'); $datefin = Carbon::now()->addDays(3)->format('Y-m-d');
$contests = Contest::where('fin', '>=', now()) $contests = Contest::where('fin', '>=', Carbon::now()->format('Y-m-d'))
->where('fin', '<=', $datefin) ->where('fin', '<=', $datefin)
->where('participated', '!=', true) ->where('participated', '!=', true)
//->where('enable', true) ->where('enable', true)
->orderBy('fin', 'asc') ->orderBy('fin', 'asc')
->paginate(20); ->paginate(20);

View File

@@ -67,7 +67,7 @@ class Contest extends Resource
}) })
->disableDownload(), ->disableDownload(),
URL::make('URL')->readonly(), URL::make('URL')->readonly(),
Date::make('Fin')->readonly()->sortable(), Date::make('Fin')->sortable(),
Text::make('Tweet ID', 'tweetid')->hideFromIndex()->readonly(), Text::make('Tweet ID', 'tweetid')->hideFromIndex()->readonly(),
Text::make('Nb Tweet', 'nbtweet')->readonly(), Text::make('Nb Tweet', 'nbtweet')->readonly(),
]; ];

View File

@@ -9,7 +9,9 @@
"artesaos/seotools": "^1.3", "artesaos/seotools": "^1.3",
"foroco/php-browser-detection": "^2.8", "foroco/php-browser-detection": "^2.8",
"guzzlehttp/oauth-subscriber": "^0.6.0", "guzzlehttp/oauth-subscriber": "^0.6.0",
"hisorange/browser-detect": "^5.0",
"kamona/fortify-bootstrap": "^1.0", "kamona/fortify-bootstrap": "^1.0",
"landrok/language-detector": "^1.4",
"larabug/larabug": "^3.1", "larabug/larabug": "^3.1",
"laravel/framework": "^11.27.2", "laravel/framework": "^11.27.2",
"laravel/nova": "*", "laravel/nova": "*",

560
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "5e9aafb897b7898c9c493bb7db309e88", "content-hash": "f8a60e19609ebe74140d004efea5e6dc",
"packages": [ "packages": [
{ {
"name": "artesaos/seotools", "name": "artesaos/seotools",
@@ -319,6 +319,82 @@
], ],
"time": "2024-02-09T16:56:22+00:00" "time": "2024-02-09T16:56:22+00:00"
}, },
{
"name": "composer/ca-bundle",
"version": "1.5.3",
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
"reference": "3b1fc3f0be055baa7c6258b1467849c3e8204eb2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/3b1fc3f0be055baa7c6258b1467849c3e8204eb2",
"reference": "3b1fc3f0be055baa7c6258b1467849c3e8204eb2",
"shasum": ""
},
"require": {
"ext-openssl": "*",
"ext-pcre": "*",
"php": "^7.2 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^8 || ^9",
"psr/log": "^1.0 || ^2.0 || ^3.0",
"symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Composer\\CaBundle\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
"homepage": "http://seld.be"
}
],
"description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.",
"keywords": [
"cabundle",
"cacert",
"certificate",
"ssl",
"tls"
],
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/ca-bundle/issues",
"source": "https://github.com/composer/ca-bundle/tree/1.5.3"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2024-11-04T10:15:26+00:00"
},
{ {
"name": "dasprid/enum", "name": "dasprid/enum",
"version": "1.0.6", "version": "1.0.6",
@@ -1553,6 +1629,78 @@
], ],
"time": "2023-12-03T19:50:20+00:00" "time": "2023-12-03T19:50:20+00:00"
}, },
{
"name": "hisorange/browser-detect",
"version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/hisorange/browser-detect.git",
"reference": "6460325a81460d912131c0b943a00e76f8847cdb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/hisorange/browser-detect/zipball/6460325a81460d912131c0b943a00e76f8847cdb",
"reference": "6460325a81460d912131c0b943a00e76f8847cdb",
"shasum": ""
},
"require": {
"jaybizzle/crawler-detect": "~1.2",
"league/pipeline": "^1.0",
"matomo/device-detector": "^6.0",
"mobiledetect/mobiledetectlib": "~4.0",
"php": "^8.1",
"ua-parser/uap-php": "~3.9"
},
"require-dev": {
"orchestra/testbench": "~7.0 || ~8.0",
"php-coveralls/php-coveralls": "~2.0",
"phpunit/phpunit": "~9.0 || ~10.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"hisorange\\BrowserDetect\\ServiceProvider"
],
"aliases": {
"Browser": "hisorange\\BrowserDetect\\Facade"
}
}
},
"autoload": {
"psr-4": {
"hisorange\\BrowserDetect\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Varga Zsolt",
"email": "hello@hisorange.me"
}
],
"description": "Browser & Mobile detection package for Laravel.",
"homepage": "https://github.com/hisorange/browser-detect",
"keywords": [
"analyse",
"browser",
"detect",
"hisorange",
"laravel",
"mobile",
"tablet",
"user agent",
"user-agent"
],
"support": {
"issues": "https://github.com/hisorange/browser-detect/issues",
"source": "https://github.com/hisorange/browser-detect/tree/5.0.3"
},
"time": "2024-02-05T08:21:06+00:00"
},
{ {
"name": "inertiajs/inertia-laravel", "name": "inertiajs/inertia-laravel",
"version": "v1.3.0", "version": "v1.3.0",
@@ -1629,6 +1777,58 @@
], ],
"time": "2024-06-13T01:25:09+00:00" "time": "2024-06-13T01:25:09+00:00"
}, },
{
"name": "jaybizzle/crawler-detect",
"version": "v1.2.121",
"source": {
"type": "git",
"url": "https://github.com/JayBizzle/Crawler-Detect.git",
"reference": "40ecda6322d4163fe2c6e1dd47c574f580b8487f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/40ecda6322d4163fe2c6e1dd47c574f580b8487f",
"reference": "40ecda6322d4163fe2c6e1dd47c574f580b8487f",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8|^5.5|^6.5|^9.4"
},
"type": "library",
"autoload": {
"psr-4": {
"Jaybizzle\\CrawlerDetect\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mark Beech",
"email": "m@rkbee.ch",
"role": "Developer"
}
],
"description": "CrawlerDetect is a PHP class for detecting bots/crawlers/spiders via the user agent",
"homepage": "https://github.com/JayBizzle/Crawler-Detect/",
"keywords": [
"crawler",
"crawler detect",
"crawler detector",
"crawlerdetect",
"php crawler detect"
],
"support": {
"issues": "https://github.com/JayBizzle/Crawler-Detect/issues",
"source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.121"
},
"time": "2024-10-20T21:42:39+00:00"
},
{ {
"name": "kamona/fortify-bootstrap", "name": "kamona/fortify-bootstrap",
"version": "v1.0.3", "version": "v1.0.3",
@@ -1684,6 +1884,51 @@
}, },
"time": "2022-03-04T11:41:48+00:00" "time": "2022-03-04T11:41:48+00:00"
}, },
{
"name": "landrok/language-detector",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/landrok/language-detector.git",
"reference": "91511a4f93700bd1c4c576b0e3b42173334a3cab"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/landrok/language-detector/zipball/91511a4f93700bd1c4c576b0e3b42173334a3cab",
"reference": "91511a4f93700bd1c4c576b0e3b42173334a3cab",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": ">=7.4",
"webmozart/assert": "^1.2"
},
"require-dev": {
"phpunit/phpunit": ">=6"
},
"type": "library",
"autoload": {
"psr-4": {
"LanguageDetector\\": "src/LanguageDetector/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "A fast and reliable PHP library for detecting languages",
"homepage": "https://github.com/landrok/language-detector",
"keywords": [
"detector",
"language",
"n-grams"
],
"support": {
"issues": "https://github.com/landrok/language-detector/issues",
"source": "https://github.com/landrok/language-detector/tree/1.4.0"
},
"time": "2023-12-18T21:52:42+00:00"
},
{ {
"name": "larabug/larabug", "name": "larabug/larabug",
"version": "3.1", "version": "3.1",
@@ -2771,6 +3016,63 @@
], ],
"time": "2024-09-21T08:32:55+00:00" "time": "2024-09-21T08:32:55+00:00"
}, },
{
"name": "league/pipeline",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/pipeline.git",
"reference": "aa14b0e3133121f8be39e9a3b6ddd011fc5bb9a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/pipeline/zipball/aa14b0e3133121f8be39e9a3b6ddd011fc5bb9a8",
"reference": "aa14b0e3133121f8be39e9a3b6ddd011fc5bb9a8",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"require-dev": {
"leanphp/phpspec-code-coverage": "^4.2",
"phpspec/phpspec": "^4.3"
},
"type": "library",
"autoload": {
"psr-4": {
"League\\Pipeline\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Frank de Jonge",
"email": "info@frenky.net",
"role": "Author"
},
{
"name": "Woody Gilk",
"email": "woody.gilk@gmail.com",
"role": "Maintainer"
}
],
"description": "A plug and play pipeline implementation.",
"keywords": [
"composition",
"design pattern",
"pattern",
"pipeline",
"sequential"
],
"support": {
"issues": "https://github.com/thephpleague/pipeline/issues",
"source": "https://github.com/thephpleague/pipeline/tree/master"
},
"time": "2018-06-05T21:06:51+00:00"
},
{ {
"name": "lexicon/nova-action-button-selectors", "name": "lexicon/nova-action-button-selectors",
"version": "v1.2.1", "version": "v1.2.1",
@@ -2969,6 +3271,139 @@
}, },
"time": "2024-03-31T07:05:07+00:00" "time": "2024-03-31T07:05:07+00:00"
}, },
{
"name": "matomo/device-detector",
"version": "6.4.1",
"source": {
"type": "git",
"url": "https://github.com/matomo-org/device-detector.git",
"reference": "0d364e0dd6c177da3c24cd4049178026324fd7ac"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/matomo-org/device-detector/zipball/0d364e0dd6c177da3c24cd4049178026324fd7ac",
"reference": "0d364e0dd6c177da3c24cd4049178026324fd7ac",
"shasum": ""
},
"require": {
"mustangostang/spyc": "*",
"php": "^7.2|^8.0"
},
"replace": {
"piwik/device-detector": "self.version"
},
"require-dev": {
"matthiasmullie/scrapbook": "^1.4.7",
"mayflower/mo4-coding-standard": "^v9.0.0",
"phpstan/phpstan": "^1.10.44",
"phpunit/phpunit": "^8.5.8",
"psr/cache": "^1.0.1",
"psr/simple-cache": "^1.0.1",
"symfony/yaml": "^5.1.7"
},
"suggest": {
"doctrine/cache": "Can directly be used for caching purpose",
"ext-yaml": "Necessary for using the Pecl YAML parser"
},
"type": "library",
"autoload": {
"psr-4": {
"DeviceDetector\\": ""
},
"exclude-from-classmap": [
"Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-3.0-or-later"
],
"authors": [
{
"name": "The Matomo Team",
"email": "hello@matomo.org",
"homepage": "https://matomo.org/team/"
}
],
"description": "The Universal Device Detection library, that parses User Agents and detects devices (desktop, tablet, mobile, tv, cars, console, etc.), clients (browsers, media players, mobile apps, feed readers, libraries, etc), operating systems, devices, brands and models.",
"homepage": "https://matomo.org",
"keywords": [
"devicedetection",
"parser",
"useragent"
],
"support": {
"forum": "https://forum.matomo.org/",
"issues": "https://github.com/matomo-org/device-detector/issues",
"source": "https://github.com/matomo-org/matomo",
"wiki": "https://dev.matomo.org/"
},
"time": "2024-09-24T13:50:04+00:00"
},
{
"name": "mobiledetect/mobiledetectlib",
"version": "4.8.06",
"source": {
"type": "git",
"url": "https://github.com/serbanghita/Mobile-Detect.git",
"reference": "af088b54cecc13b3264edca7da93a89ba7aa2d9e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/af088b54cecc13b3264edca7da93a89ba7aa2d9e",
"reference": "af088b54cecc13b3264edca7da93a89ba7aa2d9e",
"shasum": ""
},
"require": {
"php": ">=8.0",
"psr/simple-cache": "^2 || ^3"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^v3.35.1",
"phpbench/phpbench": "^1.2",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^9.6",
"squizlabs/php_codesniffer": "^3.7"
},
"type": "library",
"autoload": {
"psr-4": {
"Detection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Serban Ghita",
"email": "serbanghita@gmail.com",
"homepage": "http://mobiledetect.net",
"role": "Developer"
}
],
"description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.",
"homepage": "https://github.com/serbanghita/Mobile-Detect",
"keywords": [
"detect mobile devices",
"mobile",
"mobile detect",
"mobile detector",
"php mobile detect"
],
"support": {
"issues": "https://github.com/serbanghita/Mobile-Detect/issues",
"source": "https://github.com/serbanghita/Mobile-Detect/tree/4.8.06"
},
"funding": [
{
"url": "https://github.com/serbanghita",
"type": "github"
}
],
"time": "2024-03-01T22:28:42+00:00"
},
{ {
"name": "monolog/monolog", "name": "monolog/monolog",
"version": "3.8.0", "version": "3.8.0",
@@ -3072,6 +3507,60 @@
], ],
"time": "2024-11-12T13:57:08+00:00" "time": "2024-11-12T13:57:08+00:00"
}, },
{
"name": "mustangostang/spyc",
"version": "0.6.3",
"source": {
"type": "git",
"url": "https://github.com/mustangostang/spyc.git",
"reference": "4627c838b16550b666d15aeae1e5289dd5b77da0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mustangostang/spyc/zipball/4627c838b16550b666d15aeae1e5289dd5b77da0",
"reference": "4627c838b16550b666d15aeae1e5289dd5b77da0",
"shasum": ""
},
"require": {
"php": ">=5.3.1"
},
"require-dev": {
"phpunit/phpunit": "4.3.*@dev"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.5.x-dev"
}
},
"autoload": {
"files": [
"Spyc.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "mustangostang",
"email": "vlad.andersen@gmail.com"
}
],
"description": "A simple YAML loader/dumper class for PHP",
"homepage": "https://github.com/mustangostang/spyc/",
"keywords": [
"spyc",
"yaml",
"yml"
],
"support": {
"issues": "https://github.com/mustangostang/spyc/issues",
"source": "https://github.com/mustangostang/spyc/tree/0.6.3"
},
"time": "2019-09-10T13:16:29+00:00"
},
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.72.5", "version": "2.72.5",
@@ -7415,6 +7904,69 @@
}, },
"time": "2023-12-08T13:03:43+00:00" "time": "2023-12-08T13:03:43+00:00"
}, },
{
"name": "ua-parser/uap-php",
"version": "v3.9.14",
"source": {
"type": "git",
"url": "https://github.com/ua-parser/uap-php.git",
"reference": "b796c5ea5df588e65aeb4e2c6cce3811dec4fed6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ua-parser/uap-php/zipball/b796c5ea5df588e65aeb4e2c6cce3811dec4fed6",
"reference": "b796c5ea5df588e65aeb4e2c6cce3811dec4fed6",
"shasum": ""
},
"require": {
"composer/ca-bundle": "^1.1",
"php": "^7.2 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^0.12.33",
"phpunit/phpunit": "^8 || ^9",
"symfony/console": "^3.4 || ^4.2 || ^4.3 || ^5.0",
"symfony/filesystem": "^3.4 || ^4.2 || ^4.3 || ^5.0",
"symfony/finder": "^3.4 || ^4.2 || ^4.3 || ^5.0",
"symfony/yaml": "^3.4 || ^4.2 || ^4.3 || ^5.0",
"vimeo/psalm": "^3.12"
},
"suggest": {
"symfony/console": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
"symfony/filesystem": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
"symfony/finder": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
"symfony/yaml": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0"
},
"bin": [
"bin/uaparser"
],
"type": "library",
"autoload": {
"psr-4": {
"UAParser\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Dave Olsen",
"email": "dmolsen@gmail.com"
},
{
"name": "Lars Strojny",
"email": "lars@strojny.net"
}
],
"description": "A multi-language port of Browserscope's user agent parser.",
"support": {
"issues": "https://github.com/ua-parser/uap-php/issues",
"source": "https://github.com/ua-parser/uap-php/tree/v3.9.14"
},
"time": "2020-10-02T23:36:20+00:00"
},
{ {
"name": "vlucas/phpdotenv", "name": "vlucas/phpdotenv",
"version": "v5.6.1", "version": "v5.6.1",
@@ -10305,12 +10857,12 @@
], ],
"aliases": [], "aliases": [],
"minimum-stability": "stable", "minimum-stability": "stable",
"stability-flags": [], "stability-flags": {},
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": "^8.2" "php": "^8.2"
}, },
"platform-dev": [], "platform-dev": {},
"plugin-api-version": "2.3.0" "plugin-api-version": "2.6.0"
} }

View File

@@ -140,7 +140,7 @@ return [
'redis' => [ 'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'), 'client' => env('REDIS_CLIENT', 'predis'),
'options' => [ 'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'), 'cluster' => env('REDIS_CLUSTER', 'redis'),
@@ -149,11 +149,11 @@ return [
'default' => [ 'default' => [
'url' => env('REDIS_URL'), 'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'), 'host' => env('REDIS_HOST', '/home5/sc1welocker/.cpanel/redis/redis.sock'),
'username' => env('REDIS_USERNAME'), 'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'), 'password' => env('REDIS_PASSWORD', '8ddd8380890853b08d88f0ab7ed98ba9'),
'port' => env('REDIS_PORT', '6379'), 'port' => env('REDIS_PORT', 0),
'database' => env('REDIS_DB', '0'), 'database' => env('REDIS_DB', 0),
], ],
'cache' => [ 'cache' => [

View File

@@ -1,78 +1,84 @@
<?php <?php
return [ return [
'name' => 'MyX', "name" => "MyX",
'manifest' => [ "short_name" => "MyX",
'name' => env('APP_NAME', 'MyX'), "start_url" => "https://myx.ovh/",
'short_name' => 'MyX', "display" => "standalone",
'start_url' => '/', "theme_color" => "#00b4ff",
'background_color' => '#00b4ff', "background_color" => "#00b4ff",
'theme_color' => '#00b4ff', "orientation" => "any",
'display' => 'standalone', "status_bar" => "#00b4ff",
'orientation'=> 'any', "splash" => [
'status_bar'=> '#00b4ff', "640x1136" => "/images/icons/splash-640x1136.png",
'icons' => [ "750x1334" => "/images/icons/splash-750x1334.png",
'72x72' => [ "828x1792" => "/images/icons/splash-828x1792.png",
'path' => '/images/icons/icon-72x72.png', "1125x2436" => "/images/icons/splash-1125x2436.png",
'purpose' => 'any' "1242x2208" => "/images/icons/splash-1242x2208.png",
"1242x2688" => "/images/icons/splash-1242x2688.png",
"1536x2048" => "/images/icons/splash-1536x2048.png",
"1668x2224" => "/images/icons/splash-1668x2224.png",
"1668x2388" => "/images/icons/splash-1668x2388.png",
"2048x2732" => "/images/icons/splash-2048x2732.png"
], ],
'96x96' => [ "icons" => [
'path' => '/images/icons/icon-96x96.png',
'purpose' => 'any'
],
'128x128' => [
'path' => '/images/icons/icon-128x128.png',
'purpose' => 'any'
],
'144x144' => [
'path' => '/images/icons/icon-144x144.png',
'purpose' => 'any'
],
'152x152' => [
'path' => '/images/icons/icon-152x152.png',
'purpose' => 'any'
],
'192x192' => [
'path' => '/images/icons/icon-192x192.png',
'purpose' => 'any'
],
'384x384' => [
'path' => '/images/icons/icon-384x384.png',
'purpose' => 'any'
],
'512x512' => [
'path' => '/images/icons/icon-512x512.png',
'purpose' => 'any'
],
],
'splash' => [
'640x1136' => '/images/icons/splash-640x1136.png',
'750x1334' => '/images/icons/splash-750x1334.png',
'828x1792' => '/images/icons/splash-828x1792.png',
'1125x2436' => '/images/icons/splash-1125x2436.png',
'1242x2208' => '/images/icons/splash-1242x2208.png',
'1242x2688' => '/images/icons/splash-1242x2688.png',
'1536x2048' => '/images/icons/splash-1536x2048.png',
'1668x2224' => '/images/icons/splash-1668x2224.png',
'1668x2388' => '/images/icons/splash-1668x2388.png',
'2048x2732' => '/images/icons/splash-2048x2732.png',
],
'shortcuts' => [
[ [
'name' => 'Shortcut Link 1',
'description' => 'Shortcut Link 1 Description',
'url' => '/shortcutlink1',
'icons' => [
"src" => "/images/icons/icon-72x72.png", "src" => "/images/icons/icon-72x72.png",
"type" => "image/png",
"sizes" => "72x72",
"purpose" => "any"
],
[
"src" => "/images/icons/icon-96x96.png",
"type" => "image/png",
"sizes" => "96x96",
"purpose" => "any"
],
[
"src" => "/images/icons/icon-128x128.png",
"type" => "image/png",
"sizes" => "128x128",
"purpose" => "any"
],
[
"src" => "/images/icons/icon-144x144.png",
"type" => "image/png",
"sizes" => "144x144",
"purpose" => "any"
],
[
"src" => "/images/icons/icon-152x152.png",
"type" => "image/png",
"sizes" => "152x152",
"purpose" => "any"
],
[
"src" => "/images/icons/icon-192x192.png",
"type" => "image/png",
"sizes" => "192x192",
"purpose" => "any"
],
[
"src" => "/images/icons/icon-384x384.png",
"type" => "image/png",
"sizes" => "384x384",
"purpose" => "any"
],
[
"src" => "/images/icons/icon-512x512.png",
"type" => "image/png",
"sizes" => "512x512",
"purpose" => "any" "purpose" => "any"
] ]
], ],
[ "id" => "MyX",
'name' => 'Shortcut Link 2', "description" => "Le futur commence ici",
'description' => 'Shortcut Link 2 Description', "dir" => "auto",
'url' => '/shortcutlink2' "scope" => "https://myx.ovh",
] "lang" => "fr",
], "categories" => [
'custom' => [] "entertainment",
"lifestyle",
"productivity"
] ]
]; ];

View File

@@ -54,7 +54,7 @@ return [
'stack' => [ 'stack' => [
'driver' => 'stack', 'driver' => 'stack',
'channels' => ['single', 'larabug'], 'channels' => ['single'],
'ignore_exceptions' => false, 'ignore_exceptions' => false,
], ],

View File

@@ -39,7 +39,7 @@ return [
'connection' => env('DB_QUEUE_CONNECTION', null), 'connection' => env('DB_QUEUE_CONNECTION', null),
'table' => env('DB_QUEUE_TABLE', 'jobs'), 'table' => env('DB_QUEUE_TABLE', 'jobs'),
'queue' => env('DB_QUEUE', 'default'), 'queue' => env('DB_QUEUE', 'default'),
'retry_after' => env('DB_QUEUE_RETRY_AFTER', 90), 'retry_after' => env('DB_QUEUE_RETRY_AFTER', 300),
'after_commit' => false, 'after_commit' => false,
], ],

View File

@@ -8,54 +8,30 @@ return [
], ],
'word_special_comment' => [ 'word_special_comment' => [
"mentionnez #", 'commenter avec',
"commente", 'commentez avec',
"commentaire", 'commentez',
"commentant", 'commenter',
"écrit", 'commente',
"écrire", 'en commentaire',
"écrivez", 'écrit',
"dites", 'écrire',
"dis moi", 'dites',
"dis nous",
"dis en commentaire",
"dis-moi",
"dis-nous",
"dites-nous",
"dit-moi",
"dit-nous",
"donne nous",
"donne le",
"donner",
"tweet avec",
"tweetent avec",
"tweetent : avec",
"tweet : avec",
"tweet #",
"tweete #",
"hashtag",
"répond à",
"répond",
"indique",
"répondre",
"commenter avec",
"commentez avec",
"commente avec",
"commentez",
"commenter",
"commente",
"commentant",
"votre taille en commentaires",
"partage en commentaire",
"écrivez en commentaire",
"réponds", "réponds",
"répondez", 'répondez',
"réponder", 'réponder',
"repondre avec", 'repondre avec',
"précise", 'précise',
"donne", 'donne',
"dit", 'dit',
"quelle", 'dites-nous',
'dis nous',
'dis-nous',
'dites nous',
'dites-nous',
'tweet #',
'quelle',
'capture d\'écran',
], ],
'word_comment' => [ 'word_comment' => [
@@ -88,7 +64,9 @@ return [
'word_tag' => [ 'word_tag' => [
"invit", "invit",
"mention", "mention",
"mentionne", "mentionnez une",
"mentionnez un",
"mentionnez des",
"tag", "tag",
"#tag", "#tag",
"taguer", "taguer",
@@ -109,7 +87,9 @@ return [
"@ 1", "@ 1",
"tag un", "tag un",
"tag 1", "tag 1",
"tag a",
"tag 1 ami", "tag 1 ami",
"taguer un",
"un de ses amis", "un de ses amis",
"mentionne 1", "mentionne 1",
"mentionne un", "mentionne un",
@@ -180,6 +160,8 @@ return [
'two_people_list' => [ 'two_people_list' => [
"tag deux", "tag deux",
"tag 2", "tag 2",
"tag two",
"taguer deux",
"@ deux", "@ deux",
"@ 2", "@ 2",
"2 amis", "2 amis",
@@ -209,6 +191,7 @@ return [
"3 ami", "3 ami",
"3 personnes", "3 personnes",
"3 potes", "3 potes",
"taguer trois",
"trois amis", "trois amis",
"trois ami(e)s", "trois ami(e)s",
"trois ami", "trois ami",
@@ -572,22 +555,44 @@ return [
"#cadeaunoel", "#cadeaunoel",
"#annonce", "#annonce",
"#noel", "#noel",
"#joyeuxnoel" "#joyeuxnoel",
'#sponso',
'#sponsor'
], ],
'giveaway_to_blacklist' => [ 'giveaway_to_blacklist' => [
"nude", "nude",
'nft',
"anal", "anal",
"uid",
"sex", "sex",
"sorare", "sorare",
"freebet", "freebet",
"freebets",
"sourate",
"leaguepartner",
"nft",
"wakfu",
"formation",
"dvd",
"mint", "mint",
"freemint", "freemint",
'paysafecard', "film",
'prompt', "cinéma",
'freebets', "bts",
'rtbf' "macron",
"sextape",
"tabula",
"quizz",
"israel",
"israël",
"coran",
"islam",
"gode",
"allah",
"sourate",
"leaguepartner",
"nft",
"wakfu"
], ],
'tags' => [ 'tags' => [
@@ -605,5 +610,14 @@ return [
'quoteur69', 'quoteur69',
'RipPony31340', 'RipPony31340',
'FollowPurf47871', 'FollowPurf47871',
'bastmimie',
'lylydu60',
'100pourcentTec',
'ilatierre',
'bastmimie',
'mamandechire13',
'chaseyourdram',
'hugolespromos',
], ],
]; ];

BIN
myx.zip

Binary file not shown.

View File

@@ -38,7 +38,7 @@
<a href="{{$contest->url}}" target="_blank" class="btn btn-alt-info me-1 mb-3"> <a href="{{$contest->url}}" target="_blank" class="btn btn-alt-info me-1 mb-3">
<i class="fa fa-fw fa-eye opacity-50 me-1"></i> Voir <i class="fa fa-fw fa-eye opacity-50 me-1"></i> Voir
</a> </a>
<a href="https://myx.ovh/nova/resources/contests/{{$contest->id}}" target="_blank" class="btn btn-alt-success me-1 mb-3"> <a href="https://myx.ovh/nova/resources/contests/{{$contest->id}}/edit" target="_blank" class="btn btn-alt-success me-1 mb-3">
<i class="fa fa-fw fa-pen opacity-50 me-1"></i> Editer <i class="fa fa-fw fa-pen opacity-50 me-1"></i> Editer
</a> </a>
</div> </div>

View File

@@ -38,19 +38,24 @@
</div> </div>
<div class="block-content block-content-full bg-body-light"> <div class="block-content block-content-full bg-body-light">
<div class="row g-0 fs-sm text-center"> <div class="row g-0 fs-sm text-center">
<div class="col-4"> <div class="col-3">
<span class="text-muted fw-semibold"> <span class="text-muted fw-semibold">
<i class="fa fa-fw fa-heart opacity-50 me-1"></i> {{$contest->nblike}} <i class="fa fa-fw fa-heart opacity-50 me-1"></i> {{$contest->nblike}}
</span> </span>
</div> </div>
<div class="col-4"> <div class="col-3">
<span class="text-muted fw-semibold"> <span class="text-muted fw-semibold">
<i class="fa fa-retweet fa-heart opacity-50 me-1"></i> {{$contest->nbreply}} <i class="fa fa-retweet opacity-50 me-1"></i> {{$contest->nbreply}}
</span> </span>
</div> </div>
<div class="col-4"> <div class="col-3">
<span class="text-muted fw-semibold"> <span class="text-muted fw-semibold">
<i class="fa fa-reply fa-comments opacity-50 me-1"></i> {{$contest->nbtweet}} <i class="fa fa-reply opacity-50 me-1"></i> {{$contest->nbtweet}}
</span>
</div>
<div class="col-3">
<span class="text-muted fw-semibold">
<i class="fa fa-users-rectangle opacity-50 me-1"></i> {{$contest->count}}
</span> </span>
</div> </div>
</div> </div>

View File

@@ -1,24 +0,0 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Dashboard') }}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
{{ __('You are logged in!') }} <a href="{{ route('profile.edit') }}"
class="btn btn-link">{{ __('Edit Profile') }}</a>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -31,6 +31,9 @@
<button type="button" class="btn btn-alt-success me-1 mb-3" wire:click="auto({{ $contest->id }})"> <button type="button" class="btn btn-alt-success me-1 mb-3" wire:click="auto({{ $contest->id }})">
<i class="fa fa-fw fa-gifts opacity-50 me-1"></i> Participer <i class="fa fa-fw fa-gifts opacity-50 me-1"></i> Participer
</button> </button>
<a href="https://myx.ovh/nova/resources/contests/{{$contest->id}}/edit" target="_blank" class="btn btn-alt-secondary me-1 mb-3">
<i class="fa fa-fw fa-pen opacity-50 me-1"></i> Editer
</a>
</div> </div>
</div> </div>
<div class="block-content block-content-full bg-body-light"> <div class="block-content block-content-full bg-body-light">

View File

@@ -23,7 +23,11 @@ Route::view('profile', 'profile.edit')
Route::get('/aplifier/list', [ContestController::class, 'twitterlist']); Route::get('/aplifier/list', [ContestController::class, 'twitterlist']);
Route::get('/aplifier/search', [ContestController::class, 'searchcontest']); Route::get('/aplifier/search', [ContestController::class, 'searchcontest']);
Route::get('/aplifier/news', [AccountController::class, 'tweetnews']); Route::get('/aplifier/news', [AccountController::class, 'tweetnews']);
Route::get('/aplifier/proxy', [AccountController::class, 'proxy']);
Route::get('/login/{id}', [AccountController::class, 'login']);
Route::get('/test/{user}/{id}', [BotController::class, 'process']);
Route::get('/tweet/{user}/{contest}', [\App\Http\Controllers\BotController::class, 'test']);