コード例 #1
0
ファイル: SMW_TripleStore.php プロジェクト: seedbank/old-repo
 /**
  * Rewrite printrequests in the way that subselection are cut down to normal property selections
  * in order to display them properly.
  *
  * @param SMWPrintRequest $pr
  * @return SMWPrintRequest
  */
 private function rewritePrintrequest($pr)
 {
     $data = $pr->getData();
     $rewritten_prs = $pr;
     if ($data instanceof Title) {
         // property chain appear as Title
         $titleText = $data->getText();
         $chain = explode(".", $titleText);
         if (count($chain) > 1) {
             $newtitle = Title::newFromText($chain[count($chain) - 1], SMW_NS_PROPERTY);
             if ($newtitle->exists()) {
                 $newlabel = $pr->getLabel() != $titleText ? $pr->getLabel() : $newtitle->getText();
                 $newData = SMWPropertyValue::makeUserProperty($newtitle->getText());
             } else {
                 $newlabel = $pr->getLabel() != $titleText ? $pr->getLabel() : $newtitle->getText();
                 $newData = $newtitle;
             }
             $rewritten_prs = new SMWPrintRequest($newtitle->exists() ? SMWPrintRequest::PRINT_PROP : SMWPrintRequest::PRINT_THIS, $newlabel, $newData, $pr->getOutputFormat());
             $rewritten_prs->getHash();
         }
     }
     return $rewritten_prs;
 }
コード例 #2
0
ファイル: SD_BrowseData.php プロジェクト: seedbank/old-repo
 function addSemanticResultWrapper($dbr, $res, $num, $query, $mainlabel, $printouts)
 {
     $qr = array();
     $count = 0;
     $store = smwfGetStore();
     while ($count < $num && ($row = $dbr->fetchObject($res))) {
         $count++;
         if (class_exists('SMWDIWikiPage')) {
             // SMW 1.6
             $qr[] = new SMWDIWikiPage($row->t, $row->ns, null);
         } else {
             $qr[] = SMWWikiPageValue::makePage($row->t, $row->ns, $row->sortkey);
         }
         if (method_exists($store, 'cacheSMWPageID')) {
             if (method_exists('SMWDIWikiPage', 'getSubobjectName')) {
                 // SMW 1.6
                 $store->cacheSMWPageID($row->id, $row->t, $row->ns, $row->iw, '');
             } else {
                 $store->cacheSMWPageID($row->id, $row->t, $row->ns, $row->iw);
             }
         }
     }
     if ($dbr->fetchObject($res)) {
         $count++;
     }
     $dbr->freeResult($res);
     $printrequest = new SMWPrintRequest(SMWPrintRequest::PRINT_THIS, $mainlabel);
     $main_printout = array();
     $main_printout[$printrequest->getHash()] = $printrequest;
     $printouts = array_merge($main_printout, $printouts);
     return new SMWQueryResult($printouts, $query, $qr, $store, $count > $num);
 }
コード例 #3
0
ファイル: SD_BrowseData.php プロジェクト: Tjorriemorrie/app
 function addSemanticResultWrapper($dbr, $res, $num, $query, $mainlabel, $printouts)
 {
     $qr = array();
     $count = 0;
     $store = SDUtils::getSMWStore();
     while ($count < $num && ($row = $dbr->fetchObject($res))) {
         $count++;
         $qr[] = new SMWDIWikiPage($row->t, $row->ns, '');
         if (method_exists($store, 'cacheSMWPageID')) {
             $store->cacheSMWPageID($row->id, $row->t, $row->ns, $row->iw, '');
         }
     }
     if ($dbr->fetchObject($res)) {
         $count++;
     }
     $dbr->freeResult($res);
     $printrequest = new SMWPrintRequest(SMWPrintRequest::PRINT_THIS, $mainlabel);
     $main_printout = array();
     $main_printout[$printrequest->getHash()] = $printrequest;
     $printouts = array_merge($main_printout, $printouts);
     return new SMWQueryResult($printouts, $query, $qr, $store, $count > $num);
 }