X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=opensearch_desc.php;h=92c182d8a70e2a2f993ef61cb7202a46e9008555;hb=refs%2Ftags%2F1.31.0-rc.2;hp=ecd5051cd991b9c5a198db0533920db5df80b5bf;hpb=f0a00a49b1be46b51aeef712f363305bce4448fa;p=lhc%2Fweb%2Fwiklou.git
diff --git a/opensearch_desc.php b/opensearch_desc.php
index ecd5051cd9..92c182d8a7 100644
--- a/opensearch_desc.php
+++ b/opensearch_desc.php
@@ -20,6 +20,11 @@
* @file
*/
+// This endpoint is supposed to be independent of request cookies and other
+// details of the session. Log warnings for violations of the no-session
+// constraint.
+define( 'MW_NO_SESSION', 'warn' );
+
require_once __DIR__ . '/includes/WebStart.php';
if ( $wgRequest->getVal( 'ctype' ) == 'application/xml' ) {
@@ -40,20 +45,21 @@ $response->header( 'Cache-control: max-age=600' );
print '';
print Xml::openElement( 'OpenSearchDescription',
- array(
+ [
'xmlns' => 'http://a9.com/-/spec/opensearch/1.1/',
- 'xmlns:moz' => 'http://www.mozilla.org/2006/browser/search/' ) );
-
-// The spec says the ShortName must be no longer than 16 characters,
-// but 16 is *realllly* short. In practice, browsers don't appear to care
-// when we give them a longer string, so we're no longer attempting to trim.
-//
-// Note: ShortName and the need to match; they are used as
-// a key for identifying if the search engine has been added already, *and*
-// as the display name presented to the end-user.
-//
-// Behavior seems about the same between Firefox and IE 7/8 here.
-// 'Description' doesn't appear to be used by either.
+ 'xmlns:moz' => 'http://www.mozilla.org/2006/browser/search/' ] );
+
+/* The spec says the ShortName must be no longer than 16 characters,
+ * but 16 is *realllly* short. In practice, browsers don't appear to care
+ * when we give them a longer string, so we're no longer attempting to trim.
+ *
+ * Note: ShortName and the need to match; they are used as
+ * a key for identifying if the search engine has been added already, *and*
+ * as the display name presented to the end-user.
+ *
+ * Behavior seems about the same between Firefox and IE 7/8 here.
+ * 'Description' doesn't appear to be used by either.
+ */
$fullName = wfMessage( 'opensearch-desc' )->inContentLanguage()->text();
print Xml::element( 'ShortName', null, $fullName );
print Xml::element( 'Description', null, $fullName );
@@ -61,35 +67,40 @@ print Xml::element( 'Description', null, $fullName );
// By default we'll use the site favicon.
// Double-check if IE supports this properly?
print Xml::element( 'Image',
- array(
+ [
'height' => 16,
'width' => 16,
- 'type' => 'image/x-icon' ),
+ 'type' => 'image/x-icon' ],
wfExpandUrl( $wgFavicon, PROTO_CURRENT ) );
-$urls = array();
+$urls = [];
// General search template. Given an input term, this should bring up
// search results or a specific found page.
// At least Firefox and IE 7 support this.
$searchPage = SpecialPage::getTitleFor( 'Search' );
-$urls[] = array(
+$urls[] = [
'type' => 'text/html',
'method' => 'get',
- 'template' => $searchPage->getCanonicalURL( 'search={searchTerms}' ) );
-
-if ( $wgEnableAPI ) {
- // JSON interface for search suggestions.
- // Supported in Firefox 2 and later.
- $urls[] = array(
- 'type' => 'application/x-suggestions+json',
- 'method' => 'get',
- 'template' => SearchEngine::getOpenSearchTemplate() );
+ 'template' => $searchPage->getCanonicalURL( 'search={searchTerms}' ) ];
+
+foreach ( $wgOpenSearchTemplates as $type => $template ) {
+ if ( !$template && $wgEnableAPI ) {
+ $template = ApiOpenSearch::getOpenSearchTemplate( $type );
+ }
+
+ if ( $template ) {
+ $urls[] = [
+ 'type' => $type,
+ 'method' => 'get',
+ 'template' => $template,
+ ];
+ }
}
// Allow hooks to override the suggestion URL settings in a more
// general way than overriding the whole search engine...
-wfRunHooks( 'OpenSearchUrls', array( &$urls ) );
+Hooks::run( 'OpenSearchUrls', [ &$urls ] );
foreach ( $urls as $attribs ) {
print Xml::element( 'Url', $attribs );