1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-16 03:42:41 +01:00
phorge-phorge/src/applications/config/check/PhabricatorGDSetupCheck.php
Joshua Spence a98ec20dba Rename PhabricatorSetupCheck subclasses for consistency
Summary: Ref T5655.

Test Plan: `arc lint` and `arc unit`

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D11130
2015-01-02 15:27:58 +11:00

48 lines
1.5 KiB
PHP

<?php
final class PhabricatorGDSetupCheck 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);
}
}
}
}