Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F12340
titleMatch.patch
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
•
bzimport
Nov 22 2014, 2:26 AM
2014-11-22 02:26:48 (UTC+0)
Size
3 KB
Referenced Files
None
Subscribers
None
titleMatch.patch
View Options
commit ce69895ae597437d944e80ef3039eceeb7cb8c01
Author: Yuan Xingyuan <yuanxy@163.com>
Date: Sun Nov 10 22:26:43 2013 +0800
select boilerplate based on title
diff --git a/www/wiki/extensions/MultiBoilerplate/MultiBoilerplate.php b/www/wiki/extensions/MultiBoilerplate/MultiBoilerplate.php
index 4b643a4..baceb12 100644
--- a/www/wiki/extensions/MultiBoilerplate/MultiBoilerplate.php
+++ b/www/wiki/extensions/MultiBoilerplate/MultiBoilerplate.php
@@ -73,7 +73,7 @@ function efBoilerplateDisplaySpecialPage( &$aSpecialPages ) {
function efMultiBoilerplate( $form ) {
// Get various variables needed for this extension.
- global $wgMultiBoilerplateOptions, $wgMultiBoilerplateOverwrite, $wgTitle, $wgRequest;
+ global $wgMultiBoilerplateOptions, $wgMultiBoilerplateOverwrite, $wgMultiBoilerplateSelectByTitle, $wgTitle, $wgRequest;
// If $wgMultiBoilerplateOverwrite is true then detect whether
// the current page exists or not and if it does return true
@@ -92,20 +92,42 @@ function efMultiBoilerplate( $form ) {
}
} else {
$things = wfMsgForContent( 'multiboilerplate' );
- $options = '';
+ $options = '';
$things = explode( "\n", str_replace( "\r", "\n", str_replace( "\r\n", "\n", $things ) ) ); // Ensure line-endings are \n
foreach( $things as $row ) {
if ( substr( ltrim( $row ), 0, 1)==="*" ) {
$row = ltrim( $row, '* ' ); // Remove the asterix (and a space if found) from the start of the line.
- $row = explode( '|', $row );
+ $row = explode( '|', $row );
if( !isset( $row[ 1 ] ) ) return true; // Invalid syntax, abort.
- $selected = false;
- if( $wgRequest->getVal( 'boilerplate' ) == $row[ 1 ] ) $selected = true;
+ array_push($biolerplate_titles, $row[0]);
+ $selected = false;
+ if( $wgRequest->getVal( 'boilerplate' ) == $row[ 1 ] ) {
+ $selected = true;
+ } else {
+ // boilerplate pre-select based on page title
+ if ( $wgMultiBoilerplateSelectByTitle ) {
+ if (!$boilerplateTitle) {
+
+ $title = trim($wgTitle->getText());
+ $type = trim($row[0]);
+ if (strpos($title,$type)) {
+ $boilerplateTitle = $row[1];
+ $selected = true;
+ }
+ }
+ }
+
+ }
$options .= Xml::option( $row[ 0 ], $row[ 1 ], $selected );
}
}
}
+ // boilerplate pre-select based on page title
+ if ( $wgRequest->getText( 'boilerplate', false ) ) {
+ $boilerplateTitle = $wgRequest->getVal( 'boilerplate' );
+ }
+
// No options found in either configuration file, abort.
if( $options == '' ) return true;
@@ -128,8 +150,8 @@ function efMultiBoilerplate( $form ) {
Xml::closeElement( 'form' );
// If the Load button has been pushed replace the article text with the boilerplate.
- if( $wgRequest->getText( 'boilerplate', false ) ) {
- $plate = new Article( Title::newFromURL( $wgRequest->getVal( 'boilerplate' ) ) );
+ if( $boilerplateTitle ) {
+ $plate = new Article( Title::newFromURL( $boilerplateTitle ) );
$content = $plate->fetchContent();
/* Strip out noinclude tags and contained data, and strip includeonly
* tags (but retain contained data). If a function exists in the
File Metadata
Details
Attached
Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
11796
Default Alt Text
titleMatch.patch (3 KB)
Attached To
Mode
T58871: Automatically use boilerplate if page title matches boilerplate description
Attached
Detach File
Event Timeline
Log In to Comment