当前位置: 首页>>代码示例>>PHP>>正文


PHP SMWQuery::getExtraPrintouts方法代码示例

本文整理汇总了PHP中SMWQuery::getExtraPrintouts方法的典型用法代码示例。如果您正苦于以下问题:PHP SMWQuery::getExtraPrintouts方法的具体用法?PHP SMWQuery::getExtraPrintouts怎么用?PHP SMWQuery::getExtraPrintouts使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SMWQuery的用法示例。


在下文中一共展示了SMWQuery::getExtraPrintouts方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getLink

 /**
  * Returns an SMWInfolink object with the QueryResults print requests as parameters.
  *
  * @since 1.8
  *
  * @return SMWInfolink
  */
 public function getLink()
 {
     $params = array(trim($this->mQuery->getQueryString()));
     foreach ($this->mQuery->getExtraPrintouts() as $printout) {
         $serialization = $printout->getSerialisation();
         // TODO: this is a hack to get rid of the mainlabel param in case it was automatically added
         // by SMWQueryProcessor::addThisPrintout. Should be done nicer when this link creation gets redone.
         if ($serialization !== '?#') {
             $params[] = $serialization;
         }
     }
     // Note: the initial : prevents SMW from reparsing :: in the query string.
     return SMWInfolink::newInternalLink('', ':Special:Ask', false, $params);
 }
开发者ID:Rikuforever,项目名称:wiki,代码行数:21,代码来源:SMW_QueryResult.php

示例2: getQueryLink

 /**
  * Create an SMWInfolink object representing a link to further query results.
  * This link can then be serialised or extended by further params first.
  * The optional $caption can be used to set the caption of the link (though this
  * can also be changed afterwards with SMWInfolink::setCaption()). If empty, the
  * message 'smw_iq_moreresults' is used as a caption.
  * 
  * TODO: have this work for all params without manually overriding and adding everything
  * (this is possible since the param handling changes in 1.7) 
  * 
  * @param string|false $caption
  * 
  * @return SMWInfolink
  */
 public function getQueryLink($caption = false)
 {
     $params = array(trim($this->mQuery->getQueryString()));
     foreach ($this->mQuery->getExtraPrintouts() as $printout) {
         $serialization = $printout->getSerialisation();
         // TODO: this is a hack to get rid of the mainlabel param in case it was automatically added
         // by SMWQueryProcessor::addThisPrintout. Should be done nicer when this link creation gets redone.
         if ($serialization !== '?#') {
             $params[] = $serialization;
         }
     }
     if ($this->mQuery->getMainLabel() !== false) {
         $params['mainlabel'] = $this->mQuery->getMainLabel();
     }
     $params['offset'] = $this->mQuery->getOffset() + count($this->mResults);
     if ($params['offset'] === 0) {
         unset($params['offset']);
     }
     if ($this->mQuery->getLimit() > 0) {
         $params['limit'] = $this->mQuery->getLimit();
     }
     if (count($this->mQuery->sortkeys) > 0) {
         $order = implode(',', $this->mQuery->sortkeys);
         $sort = implode(',', array_keys($this->mQuery->sortkeys));
         if ($sort !== '' || $order != 'ASC') {
             $params['order'] = $order;
             $params['sort'] = $sort;
         }
     }
     if ($caption == false) {
         $caption = ' ' . wfMsgForContent('smw_iq_moreresults');
         // The space is right here, not in the QPs!
     }
     // Note: the initial : prevents SMW from reparsing :: in the query string.
     $result = SMWInfolink::newInternalLink($caption, ':Special:Ask', false, $params);
     return $result;
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:51,代码来源:SMW_QueryResult.php

示例3: serializeParams

 /**
  * Serializes parameters and extraprintouts of SMWQuery.
  * These informations are needed to generate a correct SPARQL query.
  *
  * @param SMWQuery $query
  * @return string
  */
 protected function serializeParams($query)
 {
     $result = "";
     $first = true;
     foreach ($query->getExtraPrintouts() as $printout) {
         if (!$first) {
             $result .= "|";
         }
         if ($printout->getData() == NULL) {
             $result .= "?=" . $printout->getLabel();
         } else {
             if ($printout->getData() instanceof Title) {
                 $outputFormat = $printout->getOutputFormat() !== NULL ? "#" . $printout->getOutputFormat() : "";
                 $result .= "?" . $printout->getData()->getDBkey() . $outputFormat . "=" . $printout->getLabel();
             } else {
                 if ($printout->getData() instanceof SMWPropertyValue) {
                     $outputFormat = $printout->getOutputFormat() !== NULL ? "#" . $printout->getOutputFormat() : "";
                     $result .= "?" . array_shift($printout->getData()->getDBkeys()) . $outputFormat . "=" . $printout->getLabel();
                 }
             }
         }
         $first = false;
     }
     if ($query->getLimit() != NULL) {
         if (!$first) {
             $result .= "|";
         }
         $result .= "limit=" . $query->getLimit();
         $first = false;
     }
     if ($query->getOffset() != NULL) {
         if (!$first) {
             $result .= "|";
         }
         $result .= "offset=" . $query->getOffset();
         $first = false;
     }
     if ($query->sort) {
         if (!$first) {
             $result .= "|";
         }
         $first = false;
         $sort = "sort=";
         $order = "order=";
         $firstsort = true;
         foreach ($query->sortkeys as $sortkey => $orderkey) {
             if (!$firstsort) {
                 $sort .= ",";
                 $order .= ",";
             }
             $sort .= $sortkey;
             $order .= $orderkey;
             $firstsort = false;
         }
         $result .= $sort . "|" . $order;
     }
     if ($query->mergeResults === false) {
         if (!$first) {
             $result .= "|";
         }
         $result .= 'merge=false';
         $first = false;
     }
     if (isset($query->params) && isset($query->params['dataspace'])) {
         if (!$first) {
             $result .= "|";
         }
         $result .= 'dataspace=' . trim($query->params['dataspace']);
         $first = false;
     }
     return $result;
 }
开发者ID:seedbank,项目名称:old-repo,代码行数:79,代码来源:SMW_TripleStore.php


注:本文中的SMWQuery::getExtraPrintouts方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。