http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97743

Revision: 97743
Author:   jeroendedauw
Date:     2011-09-21 16:00:20 +0000 (Wed, 21 Sep 2011)
Log Message:
-----------
fixed mainlabel handling

Modified Paths:
--------------
    trunk/extensions/SemanticMediaWiki/includes/SMW_QueryProcessor.php
    trunk/extensions/SemanticMediaWiki/includes/params/SMW_ParamFormat.php

Modified: trunk/extensions/SemanticMediaWiki/includes/SMW_QueryProcessor.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/SMW_QueryProcessor.php  
2011-09-21 15:58:50 UTC (rev 97742)
+++ trunk/extensions/SemanticMediaWiki/includes/SMW_QueryProcessor.php  
2011-09-21 16:00:20 UTC (rev 97743)
@@ -36,14 +36,7 @@
         * 
         * @return array
         */
-       public static function getProcessedParams( array $params, array 
$printRequests = null, $unknownInvalid = true ) {
-//             $mainlabel = array_key_exists( 'mainlabel', $params ) ? 
$params['mainlabel'] : ''; 
-//             if ( ( $querymode == SMWQuery::MODE_NONE ) ||
-//                  ( ( !$desc->isSingleton() || ( count( 
$desc->getPrintRequests() ) + count( $extraprintouts ) == 0 ) )
-//                    && ( trim( $mainlabel ) != '-' ) ) ) {
-//                     $desc->prependPrintRequest( new SMWPrintRequest( 
SMWPrintRequest::PRINT_THIS, $mainlabel ) );
-//             }
-               
+       public static function getProcessedParams( array $params, array 
$printRequests = null, $unknownInvalid = true ) {               
                $paramDefinitions = self::getParameters();
                
                $formatManipulation = new SMWParamFormat();
@@ -193,6 +186,19 @@
                return $query;
        }
 
+       protected static function addThisPrinteout( array &$printRequests, 
array $rawParams ) {
+               $rawParams['mainlabel'] = array_key_exists( 'mainlabel', 
$rawParams ) ? $rawParams['mainlabel'] : false;
+               $noMainlabel = $rawParams['mainlabel'] === '-';
+               // !$desc->isSingleton() || count( $printRequests ) == 0 ) && ( 
!$noMainlabel )
+               //var_dump($printRequests);exit;
+               if ( !is_null( $printRequests ) && !$noMainlabel ) {
+                       array_unshift( $printRequests, new SMWPrintRequest(
+                               SMWPrintRequest::PRINT_THIS,
+                               $rawParams['mainlabel']
+                       ) );
+               }
+       }
+       
        /**
         * Preprocess a query as given by an array of parameters as is typically
         * produced by the #ask parser function. The parsing results in a 
querystring,
@@ -308,6 +314,7 @@
         */
        static public function getResultFromFunctionParams( array $rawparams, 
$outputmode, $context = self::INLINE_QUERY, $showmode = false ) {
                self::processFunctionParams( $rawparams, $querystring, $params, 
$printouts, $showmode );
+               self::addThisPrinteout( $printouts, $params );
                $params = self::getProcessedParams( $params, $printouts );
                return self::getResultFromQueryString( $querystring, $params, 
$printouts, SMW_OUTPUT_WIKI, $context );
        }

Modified: trunk/extensions/SemanticMediaWiki/includes/params/SMW_ParamFormat.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/params/SMW_ParamFormat.php      
2011-09-21 15:58:50 UTC (rev 97742)
+++ trunk/extensions/SemanticMediaWiki/includes/params/SMW_ParamFormat.php      
2011-09-21 16:00:20 UTC (rev 97743)
@@ -123,7 +123,7 @@
                         * @since 1.5.2
                         */
                        wfRunHooks( 'SMWResultFormat', array( &$format, 
$this->printRequests, array() ) );              
-       
+
                        // If no default was set by an extension, use a table 
or list, depending on the column count.
                        if ( $format === false ) {
                                $format = count( $this->printRequests ) == 1 ? 
'list' : 'table';


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to