From aed28545ba6c00f86e80d468591c339e76b8c067 Mon Sep 17 00:00:00 2001 From: Magnus Manske Date: Wed, 29 Dec 2004 14:39:43 +0000 Subject: [PATCH] reads whitelist from database --- includes/EditPage.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/includes/EditPage.php b/includes/EditPage.php index d1ac778516..70af8b36a9 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -38,12 +38,14 @@ class EditPage { /** * This is the function that extracts metadata from the article body on the first view. * To turn the feature on, set $wgUseMetadataEdit = true ; in LocalSettings + * and set $wgMetadataWhitelist to the *full* title of the template whitelist */ function extractMetaDataFromArticle () { - global $wgUseMetadataEdit , $wgLang ; + global $wgUseMetadataEdit , $wgMetadataWhitelist , $wgLang ; $this->mMetaData = "" ; if ( !$wgUseMetadataEdit ) return ; + if ( $wgMetadataWhitelist == "" ) return ; $s = "" ; $t = $this->mArticle->getContent ( true ) ; @@ -78,8 +80,28 @@ class EditPage { if ( count ( $ll ) ) $s .= implode ( " " , $ll ) . "\n" ; $t = implode ( "\n" , $t ) ; + # Load whitelist + $sat = array () ; # stand-alone-templates; must be lowercase + $wl_title = Title::newFromText ( $wgMetadataWhitelist ) ; + $wl_article = new Article ( $wl_title ) ; + $wl = explode ( "\n" , $wl_article->getContent(true) ) ; + foreach ( $wl AS $x ) + { + $isentry = false ; + $x = trim ( $x ) ; + while ( substr ( $x , 0 , 1 ) == "*" ) + { + $isentry = true ; + $x = trim ( substr ( $x , 1 ) ) ; + } + if ( $isentry ) + { + $sat[] = strtolower ( $x ) ; + } + + } + # Templates, but only some - $sat = array ( "meta-template" ) ; # stand-alone-templates; must be lowercase $t = explode ( "{{" , $t ) ; $tl = array () ; foreach ( $t AS $key => $x ) -- 2.20.1