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