aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2014-07-09 18:21:08 +0200
committerChristian Weiske <cweiske@cweiske.de>2014-07-09 18:21:08 +0200
commitdd32f373a6ce0ce9782ecd4f8bf6abf59246113a (patch)
treea63744199868a4f89194ff4500aee81b97e1df9f
parent31e315169f2d1fa14aedfbe8b737b4e035795f33 (diff)
downloadphorkie-dd32f373a6ce0ce9782ecd4f8bf6abf59246113a.tar.gz
phorkie-dd32f373a6ce0ce9782ecd4f8bf6abf59246113a.zip
show reason for mime type detection failure in setup check
-rw-r--r--src/phorkie/Repository/Post.php6
-rw-r--r--src/phorkie/SetupCheck.php9
2 files changed, 12 insertions, 3 deletions
diff --git a/src/phorkie/Repository/Post.php b/src/phorkie/Repository/Post.php
index 5a450b1..09cb977 100644
--- a/src/phorkie/Repository/Post.php
+++ b/src/phorkie/Repository/Post.php
@@ -232,13 +232,17 @@ class Repository_Post
return $prefix . $num;
}
- public function getType($content)
+ public function getType($content, $returnError = false)
{
$tmp = tempnam(sys_get_temp_dir(), 'phorkie-autodetect-');
file_put_contents($tmp, $content);
$type = Tool_MIME_Type_PlainDetect::autoDetect($tmp);
unlink($tmp);
+ if ($returnError && $type instanceof \PEAR_Error) {
+ return $type;
+ }
+
return $this->findExtForType($type);
}
diff --git a/src/phorkie/SetupCheck.php b/src/phorkie/SetupCheck.php
index c4d365c..e06f28c 100644
--- a/src/phorkie/SetupCheck.php
+++ b/src/phorkie/SetupCheck.php
@@ -133,8 +133,13 @@ class SetupCheck
public function checkMimeTypeDetection()
{
$rp = new Repository_Post();
- if ($rp->getType('<?php echo "foo"; ?>') != 'php') {
- $this->fail('MIME type detection fails');
+ $type = $rp->getType('<?php echo "foo"; ?>', true);
+ if ($type != 'php') {
+ $msg = 'MIME type detection fails';
+ if ($type instanceof \PEAR_Error) {
+ $msg .= '. Error: ' . $type->getMessage();
+ }
+ $this->fail($msg);
}
}