Merge "Update OOjs UI to v0.1.0-pre (eca1fc20e7)"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sat, 12 Apr 2014 00:03:45 +0000 (00:03 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sat, 12 Apr 2014 00:03:45 +0000 (00:03 +0000)
.gitignore
docs/kss/Makefile
docs/kss/package.json
includes/GlobalFunctions.php
includes/media/DjVu.php

index c7d6f66..0351cf5 100644 (file)
@@ -48,7 +48,7 @@ node_modules/
 /composer.json
 
 # MediaWiki UI documentation
-resources/mediawiki.ui/docs
+/docs/kss/static
 
 # Operating systems
 ## Mac OS X
index 1b7aeb1..fee82cb 100644 (file)
@@ -7,13 +7,13 @@ kss: nodecheck
 # KSS style guide
        $(eval KSS_RL_TMP := $(shell mktemp /tmp/tmp.XXXXXXXXXX))
        @curl -sG "${MEDIAWIKI_LOAD_URL}?modules=mediawiki.ui|mediawiki.ui.button&only=styles" > $(KSS_RL_TMP)
-       @node_modules/.bin/kss-node mediawiki.ui mediawiki.ui/docs --css $(KSS_RL_TMP) -t styleguide-template
+       @node_modules/.bin/kss-node ../../resources/src/mediawiki.ui static/ --css $(KSS_RL_TMP) -t styleguide-template
        @rm $(KSS_RL_TMP)
 
 kssopen: kss
        @echo Opening the generated style guide...
-       @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/mediawiki.ui/docs/index.html; exit 0; }
-       @xdg-open ${PWD}/mediawiki.ui/docs/index.html
+       @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/static/index.html; exit 0; }
+       @xdg-open ${PWD}/static/index.html
 
 nodecheck:
        @scripts/nodecheck.sh
index a1722b5..70cebd2 100644 (file)
@@ -3,7 +3,7 @@
        "description": "Node.js dependencies used for KSS generation",
        "version": "0.0.1",
        "dependencies": {
-               "kss": ">=0.3.6"
+               "kss": ">=0.3.7"
        },
        "repository" : {
                "type" : "git",
index cef19e1..c900306 100644 (file)
@@ -2881,15 +2881,6 @@ function wfShellExec( $cmd, &$retval = null, $environ = array(),
        if ( $useLogPipe ) {
                $desc[3] = array( 'pipe', 'w' );
        }
-
-       # TODO/FIXME: This is a bad hack to workaround an HHVM bug that prevents
-       # proc_open() from opening stdin/stdout, so use /dev/null *for now*
-       # See bug 56597 / https://github.com/facebook/hhvm/issues/1247 for more info
-       if ( wfIsHHVM() ) {
-               $desc[0] = array( 'file', '/dev/null', 'r' );
-               $desc[2] = array( 'file', '/dev/null', 'w' );
-       }
-
        $pipes = null;
        $proc = proc_open( $cmd, $desc, $pipes );
        if ( !$proc ) {
index 1202c9a..3bc5636 100644 (file)
@@ -230,6 +230,30 @@ class DjVuHandler extends ImageHandler {
                return $deja;
        }
 
+       /**
+        * Get metadata, unserializing it if neccessary.
+        *
+        * @param File $file The DjVu file in question
+        * @return String XML metadata as a string.
+        */
+       private function getUnserializedMetadata( File $file ) {
+               $metadata = $file->getMetadata();
+               if ( substr( $metadata, 0, 3 ) === '<?xml' ) {
+                       // Old style. Not serialized but instead just a raw string of XML.
+                       return $metadata;
+               }
+
+               wfSuppressWarnings();
+               $unser = unserialize( $metadata );
+               wfRestoreWarnings();
+               if ( is_array( $unser ) ) {
+                       return $unser['xml'];
+               }
+
+               // unserialize failed. Guess it wasn't really serialized after all,
+               return $metadata;
+       }
+
        /**
         * Cache a document tree for the DjVu XML metadata
         * @param File $image
@@ -244,7 +268,7 @@ class DjVuHandler extends ImageHandler {
                        return $image->dejaMetaTree;
                }
 
-               $metadata = $image->getMetadata();
+               $metadata = $this->getUnserializedMetadata( $image );
                if ( !$this->isMetadataValid( $image, $metadata ) ) {
                        wfDebug( "DjVu XML metadata is invalid or missing, should have been fixed in upgradeRow\n" );
 
@@ -307,7 +331,12 @@ class DjVuHandler extends ImageHandler {
        function getMetadata( $image, $path ) {
                wfDebug( "Getting DjVu metadata for $path\n" );
 
-               return $this->getDjVuImage( $image, $path )->retrieveMetaData();
+               $xml = $this->getDjVuImage( $image, $path )->retrieveMetaData();
+               if ( $xml === false ) {
+                       return false;
+               } else {
+                       return serialize( array( 'xml' => $xml ) );
+               }
        }
 
        function getMetadataType( $image ) {