本文整理汇总了PHP中SearchEngine::defaultNamespaces方法的典型用法代码示例。如果您正苦于以下问题:PHP SearchEngine::defaultNamespaces方法的具体用法?PHP SearchEngine::defaultNamespaces怎么用?PHP SearchEngine::defaultNamespaces使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SearchEngine
的用法示例。
在下文中一共展示了SearchEngine::defaultNamespaces方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: provideSearchOptionsTests
function provideSearchOptionsTests()
{
$defaultNS = SearchEngine::defaultNamespaces();
$EMPTY_REQUEST = array();
$NO_USER_PREF = null;
return array(array($EMPTY_REQUEST, $NO_USER_PREF, 'default', $defaultNS, 'Bug 33270: No request nor user preferences should give default profile'), array(array('ns5' => 1), $NO_USER_PREF, 'advanced', array(5), 'Web request with specific NS should override user preference'), array($EMPTY_REQUEST, array('searchNs2' => 1, 'searchNs14' => 1), 'advanced', array(2, 14), 'Bug 33583: search with no option should honor User search preferences'));
}
示例2: efOpenSearchXmlTemplate
/**
* @return string
*/
function efOpenSearchXmlTemplate() {
global $wgCanonicalServer, $wgScriptPath;
$ns = implode( '|', SearchEngine::defaultNamespaces() );
if( !$ns ) {
$ns = '0';
}
return $wgCanonicalServer . $wgScriptPath . '/api.php?action=opensearch&format=xml&search={searchTerms}&namespace=' . $ns;
}
示例3: provideSearchOptionsTests
public static function provideSearchOptionsTests()
{
$defaultNS = SearchEngine::defaultNamespaces();
$EMPTY_REQUEST = array();
$NO_USER_PREF = null;
return array(array($EMPTY_REQUEST, $NO_USER_PREF, 'default', $defaultNS, 'Bug 33270: No request nor user preferences should give default profile'), array(array('ns5' => 1), $NO_USER_PREF, 'advanced', array(5), 'Web request with specific NS should override user preference'), array($EMPTY_REQUEST, array('searchNs2' => 1, 'searchNs14' => 1) + array_fill_keys(array_map(function ($ns) {
return "searchNs{$ns}";
}, $defaultNS), 0), 'advanced', array(2, 14), 'Bug 33583: search with no option should honor User search preferences' . ' and have all other namespace disabled'));
}
示例4: getNamespaceFromRequest
protected function getNamespaceFromRequest()
{
$user = $this->wg->User;
$searchableNamespaces = SearchEngine::searchableNamespaces();
$namespaces = array();
foreach ($searchableNamespaces as $i => $name) {
if ($this->getVal('ns' . $i, false)) {
$namespaces[] = $i;
}
}
if (empty($namespaces)) {
if ($user->getGlobalPreference('searchAllNamespaces')) {
$namespaces = array_keys($searchableNamespaces);
} else {
// this is mostly needed for unit testing
$defaultProfile = !empty($this->wg->DefaultSearchProfile) ? $this->wg->DefaultSearchProfile : 'default';
switch ($defaultProfile) {
case SEARCH_PROFILE_ADVANCED:
//There is no Config::setQuery call so it will always return default...
//There is no Config::setQuery call so it will always return default...
case SEARCH_PROFILE_DEFAULT:
$namespaces = \SearchEngine::defaultNamespaces();
break;
case SEARCH_PROFILE_IMAGES:
$namespaces = array(NS_FILE);
break;
case SEARCH_PROFILE_USERS:
$namespaces = array(NS_USER);
break;
case SEARCH_PROFILE_ALL:
$namespaces = \SearchEngine::searchableNamespaces();
break;
}
}
}
return $namespaces;
}
示例5: getSearchProfiles
/**
* @return array
*/
protected function getSearchProfiles() {
// Builds list of Search Types (profiles)
$nsAllSet = array_keys( SearchEngine::searchableNamespaces() );
$profiles = array(
'default' => array(
'message' => 'searchprofile-articles',
'tooltip' => 'searchprofile-articles-tooltip',
'namespaces' => SearchEngine::defaultNamespaces(),
'namespace-messages' => SearchEngine::namespacesAsText(
SearchEngine::defaultNamespaces()
),
),
'images' => array(
'message' => 'searchprofile-images',
'tooltip' => 'searchprofile-images-tooltip',
'namespaces' => array( NS_FILE ),
),
'help' => array(
'message' => 'searchprofile-project',
'tooltip' => 'searchprofile-project-tooltip',
'namespaces' => SearchEngine::helpNamespaces(),
'namespace-messages' => SearchEngine::namespacesAsText(
SearchEngine::helpNamespaces()
),
),
'all' => array(
'message' => 'searchprofile-everything',
'tooltip' => 'searchprofile-everything-tooltip',
'namespaces' => $nsAllSet,
),
'advanced' => array(
'message' => 'searchprofile-advanced',
'tooltip' => 'searchprofile-advanced-tooltip',
'namespaces' => self::NAMESPACES_CURRENT,
)
);
wfRunHooks( 'SpecialSearchProfiles', array( &$profiles ) );
foreach ( $profiles as &$data ) {
if ( !is_array( $data['namespaces'] ) ) {
continue;
}
sort( $data['namespaces'] );
}
return $profiles;
}
示例6: getSearchProfiles
protected function getSearchProfiles()
{
// Builds list of Search Types (profiles)
$nsAllSet = array_keys(SearchEngine::searchableNamespaces());
$profiles = array('default' => array('message' => 'searchprofile-articles', 'tooltip' => 'searchprofile-articles-tooltip', 'namespaces' => SearchEngine::defaultNamespaces(), 'namespace-messages' => SearchEngine::namespacesAsText(SearchEngine::defaultNamespaces())), 'images' => array('message' => 'searchprofile-images', 'tooltip' => 'searchprofile-images-tooltip', 'namespaces' => array(NS_FILE)), 'help' => array('message' => 'searchprofile-project', 'tooltip' => 'searchprofile-project-tooltip', 'namespaces' => SearchEngine::helpNamespaces(), 'namespace-messages' => SearchEngine::namespacesAsText(SearchEngine::helpNamespaces())), 'all' => array('message' => 'searchprofile-everything', 'tooltip' => 'searchprofile-everything-tooltip', 'namespaces' => $nsAllSet), 'advanced' => array('message' => 'searchprofile-advanced', 'tooltip' => 'searchprofile-advanced-tooltip', 'namespaces' => $this->namespaces, 'parameters' => array('advanced' => 1)));
wfRunHooks('SpecialSearchProfiles', array(&$profiles));
foreach ($profiles as $key => &$data) {
sort($data['namespaces']);
}
return $profiles;
}
示例7: getOpenSearchTemplate
/**
* Get OpenSearch suggestion template
*
* @return String
*/
public static function getOpenSearchTemplate()
{
global $wgOpenSearchTemplate, $wgCanonicalServer;
if ($wgOpenSearchTemplate) {
return $wgOpenSearchTemplate;
} else {
$ns = implode('|', SearchEngine::defaultNamespaces());
if (!$ns) {
$ns = "0";
}
return $wgCanonicalServer . wfScript('api') . '?action=opensearch&search={searchTerms}&namespace=' . $ns;
}
}
示例8: getOpenSearchTemplate
/**
* Get OpenSearch suggestion template
*
* @return String
*/
public static function getOpenSearchTemplate()
{
global $wgOpenSearchTemplate, $wgServer, $wgScriptPath;
if ($wgOpenSearchTemplate) {
return $wgOpenSearchTemplate;
} else {
$ns = implode('|', SearchEngine::defaultNamespaces());
if (!$ns) {
$ns = "0";
}
return $wgServer . $wgScriptPath . '/api.php?action=opensearch&search={searchTerms}&namespace=' . $ns;
}
}
示例9: getOpenSearchTemplate
/**
* Fetch the template for a type.
*
* @param string $type MIME type
* @return string
* @throws MWException
*/
public static function getOpenSearchTemplate($type)
{
global $wgOpenSearchTemplate, $wgCanonicalServer;
if ($wgOpenSearchTemplate && $type === 'application/x-suggestions+json') {
return $wgOpenSearchTemplate;
}
$ns = implode('|', SearchEngine::defaultNamespaces());
if (!$ns) {
$ns = "0";
}
switch ($type) {
case 'application/x-suggestions+json':
return $wgCanonicalServer . wfScript('api') . '?action=opensearch&search={searchTerms}&namespace=' . $ns;
case 'application/x-suggestions+xml':
return $wgCanonicalServer . wfScript('api') . '?action=opensearch&format=xml&search={searchTerms}&namespace=' . $ns;
default:
throw new MWException(__METHOD__ . ": Unknown type '{$type}'");
}
}
示例10: getDefaultNamespacesFromSearchEngine
/**
* Returns default namespaces from mediawiki.
* @return array
*/
public function getDefaultNamespacesFromSearchEngine()
{
return \SearchEngine::defaultNamespaces();
}
示例11: formHeader
protected function formHeader($term)
{
global $wgContLang, $wgCanonicalNamespaceNames;
$sep = ' ';
$out = Xml::openElement('div', array('style' => 'padding-bottom:0.5em;'));
$bareterm = $term;
if ($this->startsWithImage($term)) {
$bareterm = substr($term, strpos($term, ':') + 1);
}
// delete all/image prefix
$nsAllSet = array_keys(SearchEngine::searchableNamespaces());
// search profiles headers
$m = wfMsg('searchprofile-articles');
$tt = wfMsg('searchprofile-articles-tooltip', implode(', ', SearchEngine::namespacesAsText(SearchEngine::defaultNamespaces())));
if ($this->active == 'default') {
$out .= Xml::element('strong', array('title' => $tt), $m);
} else {
$out .= $this->makeSearchLink($bareterm, SearchEngine::defaultNamespaces(), $m, $tt);
}
$out .= $sep;
$m = wfMsg('searchprofile-images');
$tt = wfMsg('searchprofile-images-tooltip');
if ($this->active == 'images') {
$out .= Xml::element('strong', array('title' => $tt), $m);
} else {
$imageTextForm = $wgContLang->getFormattedNsText(NS_FILE) . ':' . $bareterm;
$out .= $this->makeSearchLink($imageTextForm, array(NS_FILE), $m, $tt);
}
$out .= $sep;
/*
$m = wfMsg( 'searchprofile-articles-and-proj' );
$tt = wfMsg( 'searchprofile-project-tooltip',
implode( ', ', SearchEngine::namespacesAsText( SearchEngine::defaultAndProjectNamespaces() ) ) );
if( $this->active == 'withproject' ) {
$out .= Xml::element( 'strong', array( 'title'=>$tt ), $m );
} else {
$out .= $this->makeSearchLink( $bareterm, SearchEngine::defaultAndProjectNamespaces(), $m, $tt );
}
$out .= $sep;
*/
$m = wfMsg('searchprofile-project');
$tt = wfMsg('searchprofile-project-tooltip', implode(', ', SearchEngine::namespacesAsText(SearchEngine::projectNamespaces())));
if ($this->active == 'project') {
$out .= Xml::element('strong', array('title' => $tt), $m);
} else {
$out .= $this->makeSearchLink($bareterm, SearchEngine::projectNamespaces(), $m, $tt);
}
$out .= $sep;
$m = wfMsg('searchprofile-everything');
$tt = wfMsg('searchprofile-everything-tooltip');
if ($this->active == 'all') {
$out .= Xml::element('strong', array('title' => $tt), $m);
} else {
$out .= $this->makeSearchLink($bareterm, $nsAllSet, $m, $tt);
}
$out .= $sep;
$m = wfMsg('searchprofile-advanced');
$tt = wfMsg('searchprofile-advanced-tooltip');
if ($this->active == 'advanced') {
$out .= Xml::element('strong', array('title' => $tt), $m);
} else {
$out .= $this->makeSearchLink($bareterm, $this->namespaces, $m, $tt, array('advanced' => '1'));
}
$out .= Xml::closeElement('div');
return $out;
}
示例12: getSearchProfiles
/**
* These search profiles are used to figure out what tab we're on and how we should be searching based on that
* While kind of a view concern, moved here so it can play nicely with the namespaces value
* @return array
*/
public function getSearchProfiles()
{
// Builds list of Search Types (profiles)
$searchEngine = F::build('SearchEngine');
$nsAllSet = array_keys($searchEngine->searchableNamespaces());
$profiles = array('default' => array('message' => 'wikiasearch2-tabs-articles', 'tooltip' => 'searchprofile-articles-tooltip', 'namespaces' => SearchEngine::defaultNamespaces(), 'namespace-messages' => SearchEngine::namespacesAsText(SearchEngine::defaultNamespaces())), 'images' => array('message' => 'wikiasearch2-tabs-photos-and-videos', 'tooltip' => 'searchprofile-images-tooltip', 'namespaces' => array(NS_FILE)), 'users' => array('message' => 'wikiasearch2-users', 'tooltip' => 'wikiasearch2-users-tooltip', 'namespaces' => array(NS_USER)), 'all' => array('message' => 'searchprofile-everything', 'tooltip' => 'searchprofile-everything-tooltip', 'namespaces' => $nsAllSet), 'advanced' => array('message' => 'searchprofile-advanced', 'tooltip' => 'searchprofile-advanced-tooltip', 'namespaces' => $this->getNamespaces(), 'parameters' => array('advanced' => 1)));
wfRunHooks('SpecialSearchProfiles', array(&$profiles));
foreach ($profiles as $key => &$data) {
sort($data['namespaces']);
}
return $profiles;
}
示例13: testGetDefaultNamespacesFromSearchEngine
/**
* @group Slow
* @slowExecutionTime 0.08666 ms
* @covers Wikia\Search\MediaWikiService::getDefaultNamespacesFromSearchEngine
*/
public function testGetDefaultNamespacesFromSearchEngine()
{
$this->assertEquals(\SearchEngine::defaultNamespaces(), (new MediaWikiService())->getDefaultNamespacesFromSearchEngine());
}