mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-11 17:32:41 +01:00
49 lines
1.5 KiB
PHP
49 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
final class PhabricatorSetupCheckGD extends PhabricatorSetupCheck {
|
||
|
|
||
|
protected function executeChecks() {
|
||
|
if (!extension_loaded('gd')) {
|
||
|
$message = pht(
|
||
|
"The 'gd' extension is not installed. Without 'gd', support, ".
|
||
|
"Phabricator will not be able to process or resize images ".
|
||
|
"(for example, to generate thumbnails). Install or enable 'gd'.");
|
||
|
|
||
|
$this->newIssue('extension.gd')
|
||
|
->setName(pht("Missing 'gd' Extension"))
|
||
|
->setMessage($message);
|
||
|
} else {
|
||
|
$image_type_map = array(
|
||
|
'imagecreatefrompng' => 'PNG',
|
||
|
'imagecreatefromgif' => 'GIF',
|
||
|
'imagecreatefromjpeg' => 'JPEG',
|
||
|
);
|
||
|
|
||
|
$have = array();
|
||
|
foreach ($image_type_map as $function => $image_type) {
|
||
|
if (function_exists($function)) {
|
||
|
$have[] = $image_type;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$missing = array_diff($image_type_map, $have);
|
||
|
if ($missing) {
|
||
|
$missing = implode(', ', $missing);
|
||
|
$have = implode(', ', $have);
|
||
|
|
||
|
$message = pht(
|
||
|
"The 'gd' extension has support for only some image types. ".
|
||
|
"Phabricator will be unable to process images of the missing ".
|
||
|
"types until you build 'gd' with support for them. ".
|
||
|
"Supported types: %s. Missing types: %s.",
|
||
|
$have,
|
||
|
$missing);
|
||
|
|
||
|
$this->newIssue('extension.gd.support')
|
||
|
->setName(pht("Partial 'gd' Support"))
|
||
|
->setMessage($message);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|