# 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
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 ) {
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
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" );
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 ) {