function execute($query) { global $wgOut; wfProfileIn('SpecialURIResolver::execute (SMW)'); if (is_null($query) || trim($query) === '') { if (stristr($_SERVER['HTTP_ACCEPT'], 'RDF')) { $wgOut->redirect(SpecialPage::getTitleFor('ExportRDF')->getFullURL(array('stats' => '1')), '303'); } else { $this->setHeaders(); $wgOut->addHTML('<p>' . wfMessage('smw_uri_doc', 'http://www.w3.org/2001/tag/issues.html#httpRange-14')->parse() . '</p>'); } } else { $query = SMWExporter::decodeURI($query); $query = str_replace('_', '%20', $query); $query = urldecode($query); $title = Title::newFromText($query); // In case the title doesn't exists throw an error page if ($title === null) { $wgOut->showErrorPage('badtitle', 'badtitletext'); } else { $wgOut->redirect(stristr($_SERVER['HTTP_ACCEPT'], 'RDF') ? SpecialPage::getTitleFor('ExportRDF', $title->getPrefixedText())->getFullURL(array('xmlmime' => 'rdf')) : $title->getFullURL(), '303'); } } wfProfileOut('SpecialURIResolver::execute (SMW)'); }
function execute($query) { global $wgOut; wfProfileIn('SpecialURIResolver::execute (SMW)'); if ($query === '') { if (stristr($_SERVER['HTTP_ACCEPT'], 'RDF')) { $wgOut->redirect(SpecialPage::getTitleFor('ExportRDF')->getFullURL('stats=1'), '303'); } else { $this->setHeaders(); $wgOut->addHTML('<p>' . wfMsg('smw_uri_doc') . "</p>"); } } else { $query = SMWExporter::decodeURI($query); $query = str_replace("_", "%20", $query); $query = urldecode($query); $title = Title::newFromText($query); $wgOut->redirect(stristr($_SERVER['HTTP_ACCEPT'], 'RDF') ? SpecialPage::getTitleFor('ExportRDF', $title->getPrefixedText())->getFullURL('xmlmime=rdf') : $title->getFullURL(), '303'); } wfProfileOut('SpecialURIResolver::execute (SMW)'); }
public static function createLink($link_mode, $uri) { global $smwgNamespace; $pos = strpos($uri, $smwgNamespace); if ($pos !== false) { $uri = SMWExporter::decodeURI($uri); $len = strlen($smwgNamespace); $page = substr($uri, $len); $page = str_replace("_", " ", $page); $is_category = strpos($page, "Category:") === false && strpos($page, "Category%3A") === false ? false : true; $link = ""; if ($link_mode) { if ($is_category) { $link = "[[:" . $page . "]]"; } else { $link = "[[" . $page . "]]"; } } else { $link = $page; } return $link; } return $uri; }
function efSparqlParserFunction_uri2Link($uri, $nowiki = false) { //TODO : $title ??? CLEAN ? global $wgServer; $result = ""; //$fromPatternThisWiki = "#^". str_replace( '.', '\.', $wgServer).".*:URIResolver/(.*)$#i"; $fromPatternThisWiki = "#^" . str_replace('.', '\\.', $wgServer) . ".*:URIResolver/(?:(.*):(.*)|(.*))\$#i"; $titleObj = null; $title = ""; $forCategory = ""; $isKnow = true; if (preg_match_all($fromPatternThisWiki, $uri, $match)) { $uri = SMWExporter::decodeURI($uri); $uri = str_replace("_", "%20", $uri); $uri = urldecode($uri); preg_match_all($fromPatternThisWiki, $uri, $match); if ($match[1][0] == '') { //no namespace $titleObj = Title::newFromText($match[3][0]); $title = $match[3][0]; } else { global $wgContLang; $ns = $wgContLang->getNsIndex($match[1][0]); if (!$ns) { $isKnow = false; } else { $titleObj = Title::newFromText($match[2][0], $ns); $title = $match[2][0]; if ($ns == NS_CATEGORY) { $forCategory = ":"; } } } } else { $isKnow = false; } if ($isKnow) { if ($nowiki) { if ($titleObj != null) { $result = $titleObj->getText(); } else { $result = $title; } } else { if ($titleObj != null) { $result = "[[" . $forCategory . $titleObj->getPrefixedDBkey() . "|" . $titleObj->getText() . "]]"; } else { $result = "[[" . $forCategory . $title . "]]"; } } } else { $result = str_replace("=", "{{equal}}", $uri); } return $result; }