silverstripe-cms/code/Logging/ErrorPageErrorFormatter.php

32 lines
768 B
PHP
Raw Normal View History

<?php
2016-07-22 01:32:32 +02:00
namespace SilverStripe\CMS\Logging;
use SilverStripe\CMS\Model\ErrorPage;
use SilverStripe\Control\Director;
use SilverStripe\Logging\DebugViewFriendlyErrorFormatter;
2016-07-22 01:32:32 +02:00
/**
* Provides {@see ErrorPage}-gnostic error handling
*/
2017-01-25 21:59:25 +01:00
class ErrorPageErrorFormatter extends DebugViewFriendlyErrorFormatter
{
2016-03-08 21:50:55 +01:00
2017-01-25 21:59:25 +01:00
public function output($statusCode)
{
// Ajax content is plain-text only
if (Director::is_ajax()) {
return $this->getTitle();
}
2016-03-08 21:50:55 +01:00
2017-01-25 21:59:25 +01:00
// Determine if cached ErrorPage content is available
$content = ErrorPage::get_content_for_errorcode($statusCode);
if ($content) {
return $content;
}
2017-01-25 21:59:25 +01:00
// Fallback to default output
return parent::output($statusCode);
}
}