Samwilson has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/357187 )
Change subject: Add relations as template dependencies of pages ...................................................................... Add relations as template dependencies of pages Also update CS version. Change-Id: I1a8de01cab9eddd8a80ca904e2eb5c70cd71f64d --- M composer.json M src/Hooks.php M src/Tree.php 3 files changed, 17 insertions(+), 10 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Genealogy refs/changes/87/357187/1 diff --git a/composer.json b/composer.json index 08e37a1..55f7f5e 100644 --- a/composer.json +++ b/composer.json @@ -23,8 +23,8 @@ } }, "require-dev": { - "jakub-onderka/php-parallel-lint": "0.9.2", - "mediawiki/mediawiki-codesniffer": "0.7.2", + "jakub-onderka/php-parallel-lint": "^0.9", + "mediawiki/mediawiki-codesniffer": "^0.8", "jakub-onderka/php-console-highlighter": "0.3.2" }, "scripts": { diff --git a/src/Hooks.php b/src/Hooks.php index fe64b9a..131ee61 100644 --- a/src/Hooks.php +++ b/src/Hooks.php @@ -90,7 +90,7 @@ } else { $parent = new Person( $parentTitle ); $out .= $parent->getWikiLink(); - self::saveProp( $parser, 'parent', $params[0] ); + self::saveProp( $parser, 'parent', $parentTitle ); } break; case 'siblings': @@ -105,7 +105,7 @@ $msg = wfMessage( 'genealogy-invalid-partner-title', $invalidTitle ); $out .= "<span class='error'>$msg</span>"; } else { - self::saveProp( $parser, 'partner', $params[0] ); + self::saveProp( $parser, 'partner', $partnerTitle ); } break; case 'partners': @@ -149,25 +149,32 @@ * Save a page property. * @param Parser $parser The parser object. * @param string $prop The property name; it will be prefixed with 'genealogy '. - * @param string $val The property value. + * @param string|Title $val The property value ('full text' will be used if this is a Title). * @param boolean $multi Whether this property can have multiple values (will be stored as * multiple properties, with an integer appended to their name. */ public static function saveProp( Parser $parser, $prop, $val, $multi = true ) { $output = $parser->getOutput(); + $valString = ( $val instanceof Title ) ? $val->getFullText() : $val; if ( $multi ) { // Figure out what number we're up to for this property. $propNum = 1; $propVal = $output->getProperty( "genealogy $prop $propNum" ); - while ( $propVal !== false && $propVal !== $val ) { + while ( $propVal !== false && $propVal !== $valString ) { $propNum++; $propVal = $output->getProperty( "genealogy $prop $propNum" ); } // Save the property. - $output->setProperty( "genealogy $prop $propNum", $val ); + $output->setProperty( "genealogy $prop $propNum", $valString ); } else { // A single-valued property. - $output->setProperty( "genealogy $prop", $val ); + $output->setProperty( "genealogy $prop", $valString ); + } + // For page-linking properties, add the referenced page as a dependency for this page. + // https://www.mediawiki.org/wiki/Manual:Tag_extensions#How_do_I_disable_caching_for_pages_using_my_extension.3F + if ( $val instanceof Title ) { + // Register the dependency in templatelinks table. + $output->addTemplate( $val, $val->getArticleID(), $val->getLatestRevID() ); } } diff --git a/src/Tree.php b/src/Tree.php index 3e73dd2..febf0d9 100644 --- a/src/Tree.php +++ b/src/Tree.php @@ -104,8 +104,8 @@ // Combine all parts of the graph output. $out = join( "\n", $this->graph_source_code['top'] ) . "\n\n" - . "node [ shape=plaintext ]\n" - . join( "\n", $this->graph_source_code['person'] ) . "\n\n"; + . "node [ shape=plaintext ]\n" + . join( "\n", $this->graph_source_code['person'] ) . "\n\n"; if ( isset( $this->graph_source_code['partner'] ) ) { $out .= join( "\n", $this->graph_source_code['partner'] ) . "\n\n"; } -- To view, visit https://gerrit.wikimedia.org/r/357187 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1a8de01cab9eddd8a80ca904e2eb5c70cd71f64d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Genealogy Gerrit-Branch: master Gerrit-Owner: Samwilson <s...@samwilson.id.au> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits