http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97417
Revision: 97417
Author: jeroendedauw
Date: 2011-09-18 13:58:44 +0000 (Sun, 18 Sep 2011)
Log Message:
-----------
up rel notes and attempt to fix bug
Modified Paths:
--------------
trunk/extensions/SemanticMediaWiki/RELEASE-NOTES
trunk/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php
trunk/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QueryPrinter.php
trunk/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php
Modified: trunk/extensions/SemanticMediaWiki/RELEASE-NOTES
===================================================================
--- trunk/extensions/SemanticMediaWiki/RELEASE-NOTES 2011-09-18 13:01:37 UTC
(rev 97416)
+++ trunk/extensions/SemanticMediaWiki/RELEASE-NOTES 2011-09-18 13:58:44 UTC
(rev 97417)
@@ -9,6 +9,7 @@
* Added definitions for missing params (sort, order, searchlabel) to the base
query printer.
* Added validation and manipulation of the format paremeter using Validator.
* Added class parameter to the table format which allows setting the css
class.
+* Added alpha version of native SMW Ask API with moudles ask and askargs.
== SMW 1.6.1 ==
Modified: trunk/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php
2011-09-18 13:01:37 UTC (rev 97416)
+++ trunk/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php
2011-09-18 13:58:44 UTC (rev 97417)
@@ -61,12 +61,22 @@
$result->setIndexedTagName( $serialized['results'], 'result' );
$result->setIndexedTagName( $serialized['printrequests'],
'printrequest' );
- $result->addValue( 'query', null, $serialized );
+ foreach ( $serialized['results'] as $subjectName => $subject ) {
+ if ( is_array( $subject ) && array_key_exists(
'printeouts', $subject ) ) {
+ foreach ( $subject['printeouts'] as $property
=> $values ) {
+ if ( is_array( $values ) ) {
+ $result->setIndexedTagName(
$serialized['results'][$subjectName]['printeouts'][$property], 'value' );
+ }
+ }
+ }
+ }
+ $result->addValue( null, 'query', $serialized );
+
if ( $queryResult->hasFurtherResults() ) {
// TODO: obtain continuation data from store
$result->disableSizeCheck();
- $result->addValue( 'query-continue', null, 0 );
+ $result->addValue( null, 'query-continue', 0 );
$result->enableSizeCheck();
}
}
Modified:
trunk/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QueryPrinter.php
===================================================================
---
trunk/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QueryPrinter.php
2011-09-18 13:01:37 UTC (rev 97416)
+++
trunk/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QueryPrinter.php
2011-09-18 13:58:44 UTC (rev 97417)
@@ -190,7 +190,7 @@
return $result;
}
}
-
+
// Get output from printer:
$result = $this->getResultText( $results, $outputmode );
Modified:
trunk/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php
2011-09-18 13:01:37 UTC (rev 97416)
+++ trunk/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php
2011-09-18 13:58:44 UTC (rev 97417)
@@ -71,6 +71,11 @@
* @param boolean $furtherRes
*/
public function __construct( array $printRequests, SMWQuery $query,
array $results, SMWStore $store, $furtherRes = false ) {
+ // FIXME: this is a evil hack treating the symptom of something
going wrong closer to the store
+// if ( count( $results ) > 0 && $results[0]->getInterwiki() ===
SMW_SQL2_SMWBORDERIW ) {
+// unset( $results[0] );
+// }
+
$this->mResults = $results;
reset( $this->mResults );
$this->mPrintRequests = $printRequests;
@@ -266,15 +271,22 @@
}
foreach ( $this->mResults as /* SMWDIWikiPage */ $diWikiPage ) {
- $result = array();
+ $result = array( 'printeouts' => array() );
foreach ( $this->mPrintRequests as /* SMWPrintRequest
*/ $printRequest ) {
$resultAarray = new SMWResultArray(
$diWikiPage, $printRequest, $this->mStore );
- $result[$printRequest->getLabel()] = array_map(
- array( __class__,
'getDataItemSerialization' ),
- $resultAarray->getContent()
- );
+ if ( $printRequest->getMode() ===
SMWPrintRequest::PRINT_THIS ) {
+ $dataItems =
$resultAarray->getContent();
+ $result +=
$this->getDataItemSerialization( array_shift( $dataItems ) );
+ }
+ else {
+
$result['printeouts'][$printRequest->getLabel()] = array_map(
+ array( __class__,
'getDataItemSerialization' ),
+ $resultAarray->getContent()
+ );
+ }
+
}
$results[$diWikiPage->getTitle()->getFullText()] =
$result;
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs