This commit is contained in:
salam committed 2026-08-06 15:47:30 +02:00
1 parent db051d6e32
commit c8cf1edaf4
3 files changed
+83 -76

No files matched your search

+62 -56
View File
@@ -33,18 +33,19 @@ class Grap extends Command
self::$options['base_url'] = 'https://www.sofascore.com/'; self::$options['base_url'] = 'https://www.sofascore.com/';
if (! self::$options['id']) { if (! self::$options['id']) {
$txt = 'PARAMETERS'.PHP_EOL; $txt = 'PARAMETERS' . PHP_EOL;
$txt .= '--d debug'.PHP_EOL; $txt .= '--d debug' . PHP_EOL;
$txt .= '--r restart range'.PHP_EOL; $txt .= '--r restart range' . PHP_EOL;
$txt .= '--f force'.PHP_EOL; $txt .= '--f force' . PHP_EOL;
$txt .= '--folder'.PHP_EOL; $txt .= '--folder' . PHP_EOL;
$txt .= '-----------------------------------------------------------'.PHP_EOL; $txt .= '-----------------------------------------------------------' . PHP_EOL;
$txt .= 'FUNCTION'.PHP_EOL; $txt .= 'FUNCTION' . PHP_EOL;
$txt .= ' 1 grapper daily & subDays ( default 3)'.PHP_EOL; $txt .= ' 1 grapper daily & subDays ( default 3)' . PHP_EOL;
$txt .= ' 2 grapper date'.PHP_EOL; $txt .= ' 2 grapper date' . PHP_EOL;
$txt .= ' 3 grapper range'.PHP_EOL; $txt .= ' 3 grapper range' . PHP_EOL;
$txt .= ' 4 grapper rose'.PHP_EOL; $txt .= ' 4 grapper rose' . PHP_EOL;
$txt .= ' 5 playeer/season'.PHP_EOL; $txt .= ' 5 make ecxel from folder' . PHP_EOL;
$txt .= ' 5 playeer/season' . PHP_EOL;
// $txt .= " 1\tPlayerPerSeason".PHP_EOL; // $txt .= " 1\tPlayerPerSeason".PHP_EOL;
// $txt .= " 1\tPlayerPerSeason".PHP_EOL; // $txt .= " 1\tPlayerPerSeason".PHP_EOL;
// $txt .= " 1\tPlayerPerSeason".PHP_EOL; // $txt .= " 1\tPlayerPerSeason".PHP_EOL;
@@ -52,7 +53,7 @@ class Grap extends Command
Notice::note($txt, 'b', 1); Notice::note($txt, 'b', 1);
} }
Notice::note('Id '.self::$options['id'], 'bb'); Notice::note('Id ' . self::$options['id'], 'bb');
sleep(2); sleep(2);
switch (self::$options['id']) { switch (self::$options['id']) {
@@ -70,65 +71,70 @@ class Grap extends Command
break; break;
case 5: case 5:
SetStorage::set(5);
MakeExcel::create();
break;
case 6:
PlayerPerSeason::run(); PlayerPerSeason::run();
break; break;
// case 2: // case 2:
// SetStorage::set(); // SetStorage::set();
// Grapper::load(2); // Grapper::load(2);
// break; // break;
// case 3: // case 3:
// SetStorage::set(); // SetStorage::set();
// Grapper::load(3); // Grapper::load(3);
// break; // break;
// case 4: // case 4:
// SetStorage::set(); // SetStorage::set();
// Grapper::load(4); // Grapper::load(4);
// break; // break;
// case 5: // case 5:
// PlayerPerSeason::run(); // PlayerPerSeason::run();
// break; // break;
// case 6: // case 6:
// SettingsToLocal::run(); // SettingsToLocal::run();
// break; // break;
// case 7: // case 7:
// SetStorage::set(); // SetStorage::set();
// MakeExcel::create(); // MakeExcel::create();
// break; // break;
// case 'zip': // case 'zip':
// self::setStorage(); // self::setStorage();
// ZipFolder::create(); // ZipFolder::create();
// break; // break;
// case 'mail': // case 'mail':
// self::setStorage(); // self::setStorage();
// SendMail::run(); // SendMail::run();
// break; // break;
// case 'rose': // case 'rose':
// self::setStorage(); // self::setStorage();
// Rose::run(); // Rose::run();
// break; // break;
// case 'sql_mover': // case 'sql_mover':
// SqlMover::run(); // SqlMover::run();
// break; // break;
// case 'torunament_teams': // case 'torunament_teams':
// TournamentTeams::get(); // TournamentTeams::get();
// break; // break;
// case 'set_to_production': // case 'set_to_production':
// SettingsToProduction::run(); // SettingsToProduction::run();
// break; // break;
default: default:
Notice::note('function not implemented yet', 'br', 1); Notice::note('function not implemented yet', 'br', 1);
@@ -20,31 +20,30 @@ class SetStorage
// must be connectet to task for activated ligas // must be connectet to task for activated ligas
$task = SofaScoreTask::where('id', $task_id)->first(); $task = SofaScoreTask::where('id', $task_id)->first();
$sofascore_data = storage_path('sofascore_data').'/'; $sofascore_data = storage_path('sofascore_data') . '/';
if ($task) { if ($task) {
$storage_name = Strings::clean($task->name); $storage_name = Strings::clean($task->name);
switch ($task->id) { switch ($task->id) {
case 1: case 1:
Grap::$storage = $sofascore_data.$storage_name; Grap::$storage = $sofascore_data . $storage_name;
Grap::$folder = Carbon::now()->subDays($day)->format('Y-m-d'); Grap::$folder = Carbon::now()->subDays($day)->format('Y-m-d');
break; break;
case 2: case 2:
Grap::$storage = $sofascore_data.$storage_name.'/'.$task->day_from; Grap::$storage = $sofascore_data . $storage_name . '/' . $task->day_from;
Grap::$zipfile = $sofascore_data.$storage_name.'/'.$task->day_from.'.zip'; Grap::$zipfile = $sofascore_data . $storage_name . '/' . $task->day_from . '.zip';
break; break;
case 3: case 3:
Grap::$storage = $sofascore_data.$storage_name.'-'.$task->day_from.'-'.$task->day_to; Grap::$storage = $sofascore_data . $storage_name . '-' . $task->day_from . '-' . $task->day_to;
Grap::$zipfile = $sofascore_data.$storage_name.'-'.$task->day_from.'-'.$task->day_to.'.zip'; Grap::$zipfile = $sofascore_data . $storage_name . '-' . $task->day_from . '-' . $task->day_to . '.zip';
break; break;
case 4: case 4:
Grap::$storage = $sofascore_data.$storage_name.'/rosa-'.Carbon::now()->format('Y-m-d'); Grap::$storage = $sofascore_data . $storage_name . '/rosa-' . Carbon::now()->format('Y-m-d');
Grap::$zipfile = $sofascore_data.$storage_name.'/rosa-'.Carbon::now()->format('Y-m-d').'.zip'; Grap::$zipfile = $sofascore_data . $storage_name . '/rosa-' . Carbon::now()->format('Y-m-d') . '.zip';
break; break;
case 5:
default: Grap::$storage = $sofascore_data;
Grap::$storage = $sofascore_data.$storage_name; Grap::$folder = $folder;
Grap::$zipfile = $sofascore_data.$storage_name.'/archive.zip';
break; break;
} }
} elseif ($folder) { } elseif ($folder) {
@@ -53,7 +52,7 @@ class SetStorage
} }
if ($debug) { if ($debug) {
Notice::note("Task: $task->name\n".'Storage: '.Grap::$storage."\nFolder: ".Grap::$folder); Notice::note("Task: $task->name\n" . 'Storage: ' . Grap::$storage . "\nFolder: " . Grap::$folder);
sleep(2); sleep(2);
} }
} }
@@ -23,10 +23,10 @@ class MakeExcel
$debug = Nuh::$options['d'] ?? 0; $debug = Nuh::$options['d'] ?? 0;
if ($debug) { if ($debug) {
Notice::note('Make Excel folder to import: '.Grap::$folder."\nmaximum files in excel: ".self::$max, 'b'); Notice::note('Make Excel folder to import: ' . Grap::$folder . "\nmaximum files in excel: " . self::$max, 'b');
} }
$files = ReadDir::get_tree(Grap::$storage.'/'.Grap::$folder); $files = ReadDir::get_tree(Grap::$storage . '/' . Grap::$folder);
$files = array_chunk(FileType::filter($files), self::$max); $files = array_chunk(FileType::filter($files), self::$max);
@@ -49,7 +49,7 @@ class MakeExcel
$to = $key * self::$max + $has; $to = $key * self::$max + $has;
} }
$filename = Grap::$folder.'-'.$from.'-'.$to.'.xlsx'; $filename = Grap::$folder . '-' . $from . '-' . $to . '.xlsx';
$spreadsheet = new Spreadsheet; $spreadsheet = new Spreadsheet;
$spreadsheet->getProperties()->setTitle($filename); $spreadsheet->getProperties()->setTitle($filename);
$activeWorksheet = $spreadsheet->getActiveSheet(); $activeWorksheet = $spreadsheet->getActiveSheet();
@@ -62,18 +62,20 @@ class MakeExcel
$arr = explode(PHP_EOL, $json_string); $arr = explode(PHP_EOL, $json_string);
$row = 0; $row = 0;
foreach ($arr as $val) { foreach ($arr as $string) {
$row++; $row++;
$activeWorksheet->setCellValue([$column, $row], $val); $replacedString = preg_replace("/\\\\u([0-9abcdef]{4})/", "&#x$1;", $string);
$utf8string = mb_convert_encoding($replacedString, 'UTF-8', 'HTML-ENTITIES');
$activeWorksheet->setCellValue([$column, $row], $utf8string);
} }
$column++; $column++;
} }
$spreadsheet->setActiveSheetIndex(0); $spreadsheet->setActiveSheetIndex(0);
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save(Grap::$storage.'/'.$filename); $writer->save(Grap::$storage . '/' . $filename);
self::$filesToMail[] = Grap::$storage.'/'.$filename; self::$filesToMail[] = Grap::$storage . '/' . $filename;
} }
} }
} }