dev005 contrôle de validité du token

This commit is contained in:
Fred Tempez 2022-08-29 20:37:36 +02:00
parent ba9c5bd98b
commit 1688960767

View File

@ -259,24 +259,30 @@ class config extends common {
} else { } else {
$site = helper::baseUrl(false); $site = helper::baseUrl(false);
} }
// Clé de l'API // Clé de l'API
$token = $this->getData(['config', 'seo', 'keyApi']); $token = $this->getData(['config', 'seo', 'keyApi']);
// Succès de la'opération par défaut // Succès de l'opération par défaut
$success = false; $success = false;
$data = false;
// Tente de connecter 5 fois l'API // lire l'API si le token est fourni
for ($i=0; $i < 5 ; $i++) { if (!empty($token) ) {
//$googlePagespeedData = helper::getUrlContents('https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url='. $site .'&screenshot=true'); // Tente de connecter 5 fois l'API
$data = helper::getUrlContents('https://shot.screenshotapi.net/screenshot?token=' . $token . '&url=' . $site . '&width=1200&height=627&output=json&file_type=jpeg&no_cookie_banners=true&wait_for_event=load'); for ($i=0; $i < 5 ; $i++) {
if ($data !== false) { //$googlePagespeedData = helper::getUrlContents('https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url='. $site .'&screenshot=true');
break; $data = helper::getUrlContents('https://shot.screenshotapi.net/screenshot?token=' . $token . '&url=' . $site . '&width=1200&height=627&output=json&file_type=jpeg&no_cookie_banners=true&wait_for_event=load');
if ($data !== false) {
break;
}
} }
} }
// Traitement des données reçues valides. // Traitement des données reçues valides.
if ($data !== false) { if ( !empty($token) && $data !== false) {
$data = json_decode($data, true); $data = json_decode($data, true);
$img = $data['screenshot']; $img = $data['screenshot'];
// Effacer l'image et la miniature png // Effacer l'image et la miniature png
@ -288,11 +294,16 @@ class config extends common {
} }
$success = copy ($img, self::FILE_DIR .'source/screenshot.jpg'); $success = copy ($img, self::FILE_DIR .'source/screenshot.jpg');
} }
$notification = empty($token)
? 'La clé de l\'API ne peut pas être vide'
: ($success === false ? 'Problème avec le service en ligne' : 'Capture d\'écran générée avec succès');
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'config', 'redirect' => helper::baseUrl() . 'config',
'notification' => $success === false ? 'Service inaccessible ou erreur d\'écriture de l\'image' : 'Image générée avec succès', 'notification' => $notification,
'state' => $success === false ? false : true 'state' => ($success === false OR empty($token)) ? false : true
]); ]);
} }