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

Revision: 89993
Author:   jeroendedauw
Date:     2011-06-13 18:56:54 +0000 (Mon, 13 Jun 2011)
Log Message:
-----------
fixed compat issues in timeline and eventline formats

Modified Paths:
--------------
    trunk/extensions/SemanticResultFormats/Timeline/SRF_Timeline.php

Modified: trunk/extensions/SemanticResultFormats/Timeline/SRF_Timeline.php
===================================================================
--- trunk/extensions/SemanticResultFormats/Timeline/SRF_Timeline.php    
2011-06-13 18:42:02 UTC (rev 89992)
+++ trunk/extensions/SemanticResultFormats/Timeline/SRF_Timeline.php    
2011-06-13 18:56:54 UTC (rev 89993)
@@ -61,15 +61,22 @@
                
                $this->includeJS();
 
-               $isEventline =  ( 'eventline' == $this->mFormat );
+               $isEventline = 'eventline' == $this->mFormat;
 
                if ( !$isEventline && ( $this->m_tlstart == '' ) ) { // seek 
defaults
                        foreach ( $res->getPrintRequests() as $pr ) {
                                if ( ( $pr->getMode() == 
SMWPrintRequest::PRINT_PROP ) && ( $pr->getTypeID() == '_dat' ) ) {
-                                       if ( method_exists ( $pr->getData(), 
'getValueKey' ) ) {
-                                               $date_value = 
$pr->getData()->getValueKey();
-                                       } else {
-                                               $date_value = 
$pr->getData()->getXSDValue();
+                                       $dataValue = $pr->getData();
+                                       
+                                       // SMW >= 1.6
+                                       if ( method_exists ( $dataValue, 
'getDataItem' ) ) {
+                                               $date_value = 
$dataValue->getDataItem()->getLabel();
+                                       } // SMW 1.5.x
+                                       elseif ( method_exists ( $dataValue, 
'getValueKey' ) ) {
+                                               $date_value = 
$dataValue->getValueKey();
+                                       } // SMW < 1.5
+                                       else {
+                                               $date_value = 
$dataValue->getXSDValue();
                                        }
                                        
                                        if ( ( $this->m_tlend == '' ) && ( 
$this->m_tlstart != '' ) &&
@@ -166,13 +173,19 @@
                        foreach ( $row as $field ) { // Loop over the returned 
properties
                                $first_value = true;
                                $pr = $field->getPrintRequest();
+                               $dataValue = $pr->getData();
                                
-                               if ( $pr->getData() == '' ) {
+                               if ( $dataValue == '' ) {
                                        $date_value = null;
-                               } elseif ( method_exists ( $pr->getData(), 
'getValueKey' ) ) {
-                                       $date_value = 
$pr->getData()->getValueKey();
-                               } else {
-                                       $date_value = 
$pr->getData()->getXSDValue();
+                               } // SMW >= 1.6
+                               elseif ( method_exists ( $dataValue, 
'getDataItem' ) ) {
+                                       $date_value = 
$dataValue->getDataItem()->getLabel();
+                               } // SMW 1.5.x
+                               elseif ( method_exists ( $dataValue, 
'getValueKey' ) ) {
+                                       $date_value = $dataValue->getValueKey();
+                               } // SMW < 1.5
+                               else {
+                                       $date_value = $dataValue->getXSDValue();
                                }
                                
                                while ( ( $object = efSRFGetNextDV( $field ) ) 
!== false ) { // Loop over property values
@@ -343,20 +356,22 @@
                }
                
                if ( $isEventline && ( $pr->getMode() == 
SMWPrintRequest::PRINT_PROP ) && ( $pr->getTypeID() == '_dat' ) && ( '' != 
$pr->getLabel() ) && ( $date_value != $this->m_tlstart ) && ( $date_value != 
$this->m_tlend ) ) {
-                       if ( method_exists( $object, 'getValueKey' ) ) {
-                               $event = array(
-                                       $object->getXMLSchemaDate(),
-                                       $pr->getLabel(),
-                                       $object->getValueKey()
-                               );
-                       }
+                       // SMW >= 1.6
+                       if ( method_exists ( $object, 'getDataItem' ) ) {
+                               $numericValue = 
$object->getDataItem()->getForCalendarModel( SMWDITime::CM_GREGORIAN );
+                       } // SMW 1.5.x
+                       elseif ( method_exists ( $object, 'getValueKey' ) ) {
+                               $numericValue = $object->getValueKey();
+                       } // SMW < 1.5
                        else {
-                               $event = array(
-                                       $object->getXMLSchemaDate(),
-                                       $pr->getLabel(),
-                                       $object->getNumericValue()
-                               );
-                       }
+                               $numericValue = $object->getNumericValue();
+                       }                       
+                       
+                       $event = array(
+                               $object->getXMLSchemaDate(),
+                               $pr->getLabel(),
+                               $numericValue
+                       );
                }
 
                return $event;


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

Reply via email to