Example #1
0
 /**
  * @see SMWDISerializer::getSerializedQueryResult
  * @since 1.7
  * @return array
  */
 public function serializeToArray()
 {
     return SMWDISerializer::getSerializedQueryResult($this);
 }
Example #2
0
 /**
  * Basic SMW JSON layer
  *
  * This is a convenience layer which is eliminating some overhead from the
  * standard SMW JSON
  *
  * @since 1.8
  *
  * @return array
  */
 public function getBasicSerialization()
 {
     $results = array();
     $printRequests = array();
     foreach ($this->results->getPrintRequests() as $printRequest) {
         $printRequests[$printRequest->getLabel()] = array('label' => $printRequest->getLabel(), 'typeid' => $printRequest->getTypeID());
     }
     foreach ($this->results->getResults() as $diWikiPage) {
         $result = array();
         foreach ($this->results->getPrintRequests() as $printRequest) {
             $serializationItems = array();
             $resultAarray = new SMWResultArray($diWikiPage, $printRequest, $this->results->getStore());
             if ($printRequest->getMode() === SMWPrintRequest::PRINT_THIS) {
                 $dataItems = $resultAarray->getContent();
                 $fulltext = SMWDISerializer::getSerialization(array_shift($dataItems));
                 $result += array('label' => $fulltext["fulltext"]);
             } else {
                 $serializationItems = array_map(array('SMWDISerializer', 'getSerialization'), $resultAarray->getContent());
                 $type = $printRequest->getTypeID();
                 $items = array();
                 foreach ($serializationItems as $item) {
                     if ($type == "_wpg") {
                         $items[] = $item["fulltext"];
                     } else {
                         $items[] = $item;
                     }
                 }
                 $result[$printRequest->getLabel()] = $items;
             }
         }
         $results[$diWikiPage->getTitle()->getFullText()] = $result;
     }
     return array('printrequests' => $printRequests, 'results' => $results, 'rows' => $this->count);
 }