summaryrefslogtreecommitdiff
path: root/includes/content/CssContentHandler.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/content/CssContentHandler.php')
-rw-r--r--includes/content/CssContentHandler.php19
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 ) . ';' );
+ }
+
}