mirror of https://github.com/MISP/MISP
chg: [viewPicture] Adaptative behavior if php-gd not loaded
parent
59b29dd667
commit
57f8a46129
|
@ -46,7 +46,7 @@ class AppController extends Controller
|
|||
|
||||
public $helpers = array('Utility', 'OrgImg');
|
||||
|
||||
private $__queryVersion = '60';
|
||||
private $__queryVersion = '61';
|
||||
public $pyMispVersion = '2.4.103';
|
||||
public $phpmin = '7.0';
|
||||
public $phprec = '7.2';
|
||||
|
|
|
@ -1229,37 +1229,41 @@ class AttributesController extends AppController
|
|||
} else {
|
||||
$extension = explode('.', $attribute['Attribute']['value']);
|
||||
$extension = end($extension);
|
||||
$image = ImageCreateFromString(base64_decode($attribute['Attribute']['data']));
|
||||
if (!$thumbnail) {
|
||||
ob_start ();
|
||||
switch ($extension) {
|
||||
case 'gif':
|
||||
imagegif($image);
|
||||
break;
|
||||
case 'jpg':
|
||||
imagejpeg($image);
|
||||
break;
|
||||
case 'png':
|
||||
imagepng($image);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
if (extension_loaded('gd')) {
|
||||
$image = ImageCreateFromString(base64_decode($attribute['Attribute']['data']));
|
||||
if (!$thumbnail) {
|
||||
ob_start ();
|
||||
switch ($extension) {
|
||||
case 'gif':
|
||||
imagegif($image);
|
||||
break;
|
||||
case 'jpg':
|
||||
imagejpeg($image);
|
||||
break;
|
||||
case 'png':
|
||||
imagepng($image);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
$image_data = ob_get_contents();
|
||||
ob_end_clean ();
|
||||
imagedestroy($image);
|
||||
} else { // thumbnail requested, resample picture with desired dimension
|
||||
$width = isset($this->request->params['named']['width']) ? $this->request->params['named']['width'] : 150;
|
||||
$height = isset($this->request->params['named']['height']) ? $this->request->params['named']['height'] : 150;
|
||||
$extension = 'jpg';
|
||||
$imageTC = ImageCreateTrueColor($width, $height);
|
||||
ImageCopyResampled($imageTC, $image, 0, 0, 0, 0, $width, $height, ImageSX($image), ImageSY($image));
|
||||
ob_start ();
|
||||
imagejpeg ($imageTC);
|
||||
$image_data = ob_get_contents();
|
||||
ob_end_clean ();
|
||||
imagedestroy($image);
|
||||
imagedestroy($imageTC);
|
||||
}
|
||||
$image_data = ob_get_contents();
|
||||
ob_end_clean ();
|
||||
imagedestroy($image);
|
||||
} else { // thumbnail requested, resample picture with desired dimension
|
||||
$width = isset($this->request->params['named']['width']) ? $this->request->params['named']['width'] : 150;
|
||||
$height = isset($this->request->params['named']['height']) ? $this->request->params['named']['height'] : 150;
|
||||
$extension = 'jpg';
|
||||
$imageTC = ImageCreateTrueColor($width, $height);
|
||||
ImageCopyResampled($imageTC, $image, 0, 0, 0, 0, $width, $height, ImageSX($image), ImageSY($image));
|
||||
ob_start ();
|
||||
imagejpeg ($imageTC);
|
||||
$image_data = ob_get_contents();
|
||||
ob_end_clean ();
|
||||
imagedestroy($image);
|
||||
imagedestroy($imageTC);
|
||||
} else {
|
||||
$image_data = base64_decode($attribute['Attribute']['data']);
|
||||
}
|
||||
$this->response->type(strtolower(h($extension)));
|
||||
$this->response->body($image_data);
|
||||
|
|
|
@ -2,9 +2,16 @@
|
|||
$sigDisplay = $object['value'];
|
||||
if ('attachment' == $object['type'] || 'malware-sample' == $object['type'] ) {
|
||||
if ($object['type'] == 'attachment' && isset($object['image'])) {
|
||||
$img = '<it class="fa fa-spin fa-spinner" style="font-size: large; left: 50%; top: 50%;"></it>';
|
||||
$img .= '<img class="screenshot screenshot-collapsed useCursorPointer img-rounded" src="' . $baseurl . '/attributes/viewPicture/' . h($object['id']) . '/1' . '" title="' . h($object['value']) . '" onload="$(this).parent().find(\'.fa-spinner\').remove();"/>';
|
||||
echo $img;
|
||||
if (!extension_loaded('gd')) {
|
||||
$img = '<it class="fa fa-spin fa-spinner" style="font-size: large; left: 50%; top: 50%;"></it>';
|
||||
$img .= '<img class="screenshot screenshot-collapsed useCursorPointer img-rounded" src="' . $baseurl . '/attributes/viewPicture/' . h($object['id']) . '/1' . '" title="' . h($object['value']) . '" onload="$(this).parent().find(\'.fa-spinner\').remove();"/>';
|
||||
echo $img;
|
||||
} else {
|
||||
$extension = explode('.', $object['value']);
|
||||
$extension = end($extension);
|
||||
$uri = 'data:image/' . strtolower(h($extension)) . ';base64,' . h($object['image']);
|
||||
echo '<img class="screenshot screenshot-collapsed useCursorPointer" src="' . $uri . '" title="' . h($object['value']) . '" />';
|
||||
}
|
||||
} else {
|
||||
$filenameHash = explode('|', h($object['value']));
|
||||
if (strrpos($filenameHash[0], '\\')) {
|
||||
|
|
Loading…
Reference in New Issue