diff options
Diffstat (limited to 'includes/content/CssContentHandler.php')
-rw-r--r-- | includes/content/CssContentHandler.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/includes/content/CssContentHandler.php b/includes/content/CssContentHandler.php index b2a8676b..ae5f742a 100644 --- a/includes/content/CssContentHandler.php +++ b/includes/content/CssContentHandler.php @@ -39,4 +39,23 @@ class CssContentHandler extends CodeContentHandler { protected function getContentClass() { return 'CssContent'; } + + public function supportsRedirects() { + return true; + } + + /** + * Create a redirect that is also valid CSS + * + * @param Title $destination + * @param string $text ignored + * @return CssContent + */ + public function makeRedirectContent( Title $destination, $text = '' ) { + // The parameters are passed as a string so the / is not url-encoded by wfArrayToCgi + $url = $destination->getFullURL( 'action=raw&ctype=text/css', false, PROTO_RELATIVE ); + $class = $this->getContentClass(); + return new $class( '/* #REDIRECT */@import ' . CSSMin::buildUrlValue( $url ) . ';' ); + } + } |