mirror of
https://github.com/rico-vz/HeimerdingerLoL.git
synced 2025-12-06 10:10:48 +01:00
fix: Handle exceptions in image processing functions
- Catch exceptions when reading image content to prevent errors. - Adjust image resizing dimensions for better display.
This commit is contained in:
@@ -13,16 +13,20 @@ function getRoleIcon($roleName): string
|
|||||||
'Support' => 'gm-support.png',
|
'Support' => 'gm-support.png',
|
||||||
];
|
];
|
||||||
|
|
||||||
return asset('img/'.$roleIcons[$roleName]);
|
return asset('img/' . $roleIcons[$roleName]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAverageColorFromImageUrl($imageUrl): string
|
function getAverageColorFromImageUrl($imageUrl): string
|
||||||
{
|
{
|
||||||
$imgManager = new ImageManager(new Driver());
|
$imgManager = new ImageManager(new Driver());
|
||||||
|
|
||||||
$img = $imgManager->read(file_get_contents($imageUrl));
|
try {
|
||||||
|
$img = $imgManager->read(file_get_contents($imageUrl));
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return '#904f2c';
|
||||||
|
}
|
||||||
|
|
||||||
$img->resize(24, 24);
|
$img->resize(32, 32);
|
||||||
|
|
||||||
$totalR = 0;
|
$totalR = 0;
|
||||||
$totalG = 0;
|
$totalG = 0;
|
||||||
|
|||||||
@@ -30,14 +30,14 @@ class ChampionController extends Controller
|
|||||||
$threeDaysInSeconds = 60 * 60 * 24 * 3;
|
$threeDaysInSeconds = 60 * 60 * 24 * 3;
|
||||||
$sixMonthsInSeconds = 60 * 60 * 24 * 30 * 6;
|
$sixMonthsInSeconds = 60 * 60 * 24 * 30 * 6;
|
||||||
|
|
||||||
$champion = Cache::remember('championShowCache'.$champion->slug, $threeDaysInSeconds, static fn () => $champion->load('streamers', 'skins', 'lanes'));
|
$champion = Cache::remember('championShowCache' . $champion->slug, $threeDaysInSeconds, static fn () => $champion->load('streamers', 'skins', 'lanes'));
|
||||||
|
|
||||||
$streamers = $champion->load('streamers')->streamers;
|
$streamers = $champion->load('streamers')->streamers;
|
||||||
|
|
||||||
$splashColor = Cache::remember(
|
$splashColor = Cache::remember(
|
||||||
'championSplashColorCache'.$champion->slug,
|
'championSplashColorCache' . $champion->slug,
|
||||||
$sixMonthsInSeconds,
|
$sixMonthsInSeconds,
|
||||||
static fn () => getAverageColorFromImageUrl($champion->getChampionImageAttribute())
|
static fn () => getAverageColorFromImageUrl('https://wsrv.nl/?url=' . $champion->getChampionImageAttribute())
|
||||||
);
|
);
|
||||||
|
|
||||||
$champion->splash_color = $splashColor;
|
$champion->splash_color = $splashColor;
|
||||||
|
|||||||
@@ -55,15 +55,15 @@ class ChampionSkinController extends Controller
|
|||||||
public function show(ChampionSkin $championSkin)
|
public function show(ChampionSkin $championSkin)
|
||||||
{
|
{
|
||||||
$skin = Cache::remember(
|
$skin = Cache::remember(
|
||||||
'championSkinShowCache'.$championSkin->slug,
|
'championSkinShowCache' . $championSkin->slug,
|
||||||
60 * 60 * 48,
|
60 * 60 * 48,
|
||||||
static fn () => $championSkin->load('champion', 'chromas')
|
static fn () => $championSkin->load('champion', 'chromas')
|
||||||
);
|
);
|
||||||
|
|
||||||
$splashColor = Cache::remember(
|
$splashColor = Cache::remember(
|
||||||
'championSkinSplashColorCache'.$championSkin->slug,
|
'championSkinSplashColorCache' . $championSkin->slug,
|
||||||
60 * 60 * 120,
|
60 * 60 * 120,
|
||||||
static fn () => getAverageColorFromImageUrl($championSkin->getSkinImageAttribute())
|
getAverageColorFromImageUrl('https://wsrv.nl/?url=' . $championSkin->getSkinImageAttribute())
|
||||||
);
|
);
|
||||||
|
|
||||||
$skin->splash_color = $splashColor;
|
$skin->splash_color = $splashColor;
|
||||||
|
|||||||
Reference in New Issue
Block a user