From f8291f593d0eefbf947c5759f648c7cc37edfecb Mon Sep 17 00:00:00 2001 From: Knah Tsaeb Date: Fri, 5 Oct 2018 11:51:51 +0200 Subject: [PATCH] Add support for fetch favicon --- bin/error_fav.png | Bin 0 -> 5609 bytes inc/admin.php | 80 ++++++++++++++++++++++++++++++++++------------ index.php | 8 +++-- readme.md | 1 + 4 files changed, 65 insertions(+), 24 deletions(-) create mode 100644 bin/error_fav.png diff --git a/bin/error_fav.png b/bin/error_fav.png new file mode 100644 index 0000000000000000000000000000000000000000..069194d325ad3be0e2ab82260b8086167662df04 GIT binary patch literal 5609 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 z|EL{}{)image); @@ -210,6 +240,7 @@ function tryWithOpenGraph($hash, $log) } else { $res['error'] = 1; $res['msg'] = 'Error with OpenGraph data'; + $res['base64'] = 'data:image/png;base64,' . base64_encode(file_get_contents('bin/error.png')); return $res; } @@ -310,7 +341,13 @@ if (isset($ui['log']) && ($ui['log'] === 'suspect' || $ui['log'] === 'retry' || if (isset($ui['cache']) && (int) $ui['cache'] === 1) { $response['success'] = 1; $response['filePath'] = pathForFile($ui['s'], $ui['hash']) . '.png'; - $response['base64'] = 'data:image/png;base64,' . base64_encode(file_get_contents($response['filePath'])); + if(file_exists($response['filePath'])){ + $file = file_get_contents($response['filePath']); + } else { + $file = file_get_contents('bin/error.png'); + } + + $response['base64'] = 'data:image/png;base64,' . base64_encode($file); if (!file_exists($response['filePath'])) { $response['base64'] = 'data:image/png;base64,' . base64_encode(file_get_contents('bin/error.png')); } @@ -339,29 +376,30 @@ if (isset($ui['log']) && ($ui['log'] === 'suspect' || $ui['log'] === 'retry' || echo 'No result'; } } + echo ''; if (!empty($response) && !empty($response['success']) && $response['success'] === 1) { echo '
'; - echo ''; + echo ''; echo '

'; - echo 'Manuel launch / '; + echo 'Manuel launch / '; if (extension_loaded("curl")) { - echo 'Try with curl / '; + echo 'Try with curl / '; } - echo 'Try with root domain / '; - echo 'Try with OpenGraph / '; - echo 'Keep this thumbshot'; + echo 'Try with root domain / '; + echo 'Try with OpenGraph / '; + echo 'Keep this thumbshot'; echo '
'; -} -if (!empty($response) && !empty($response['error']) && $response['error'] === 1) { +} elseif (!empty($response) && !empty($response['error']) && $response['error'] === 1) { echo '
'; echo '

', $response['msg'], '

'; - echo 'Manuel launch / '; + echo '

'; + echo 'Manuel launch / '; if (extension_loaded("curl")) { - echo 'Try with curl / '; + echo 'Try with curl / '; } - echo 'Try with root domain / '; - echo 'Try with OpenGraph / '; - echo 'Keep this thumbshot'; + echo 'Try with root domain / '; + echo 'Try with OpenGraph / '; + echo 'Keep this thumbshot'; echo '
'; -} \ No newline at end of file +} diff --git a/index.php b/index.php index ccc4326..0e911fa 100644 --- a/index.php +++ b/index.php @@ -618,7 +618,7 @@ function makeFavicon($hash, $url, $filePath) if (!is_dir($hashPath)) { mkdir($hashPath, 0700, true); } - exec('convert -background transparent ' . escapeshellarg($tmpFile[' . $key . ']) . ' -resize x32 ' . $file, $resResize); + exec('convert -background transparent ' . escapeshellarg($tmpFile . '[' . $key . ']') . ' -resize x32 ' . $file, $resResize); unlink('cache/tmp/' . $hash . '.' . $data['ext']); } } else { @@ -629,9 +629,11 @@ function makeFavicon($hash, $url, $filePath) unlink('cache/tmp/' . $hash . '.' . $data['ext']); } - //n_print($data); if (file_exists($file)) { return $file; + } else { + file_put_contents($file, file_get_contents('bin/error_fav.png')); + return $file; } } @@ -721,7 +723,7 @@ if (!empty($ui['request']) && $ui['p'] !== 'install' && $ui['p'] !== 'login' && 'normal' => 'bin/error.png', 'thumb' => 'bin/error_thumb.png', 'complete' => 'bin/error.png', - 'favicon' => 'bin/error.png', + 'favicon' => 'bin/error_fav.png', ); } } else { diff --git a/readme.md b/readme.md index 98c3650..717f106 100644 --- a/readme.md +++ b/readme.md @@ -8,6 +8,7 @@ All info in the homepage http://forge.leslibres.org/projects/soshot **Thanks** * Icon by http://www.iconfinder.com/icondetails/7917/128/camera_file_image_icon + * Icon by https://www.iconfinder.com/icons/34267/browser_earth_global_globe_international_internet_map_planet_world_icon * Bash script idea by http://www.cambus.net/blog/page/3/ * Httpstatus in bash by https://gist.github.com/rsvp/1171304 * The engine phantomjs by http://phantomjs.org/